- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个使用 Hibernate 进行持久化的 Java 应用程序。现在,我尝试将此应用程序的一部分公开为部署到 Glassfish 3.0.1 的 Web 服务。
实现该服务的代码位于 JAR 文件中,该文件与 WAR 文件一起部署到 Glassfish 中。 WAR中的服务代码访问JAR文件中使用Hibernate的类没有问题。
但是,当我尝试调用该服务时,会抛出异常,提示 Hibernate 找不到 hibernate.cfg.xml 文件。我一生都无法弄清楚 .cfg 文件应该放在 JAR、WAR 或 Glassfish 中的哪个位置,以便可以在类路径上找到它。
我尝试将它放在 WAR 文件中的 META-INF 目录中(当我检查 WAR 时,它实际上是“meta-inf”)以及 JAR 中的同一目录中。我还尝试在几个不同的 Glassfish 目录中创建 META-INF 目录,但均无济于事。
在 Eclipse 中开发此服务时,为了将其放入类路径中,我不得不花了不少时间来考虑将 .cfg 文件放在哪里。似乎这也是将其部署到 GF 时的问题。
谁能告诉我 .cfg 文件应该放在哪里,以便在 GF 中部署此服务时可以访问它?
谢谢
克里斯
最佳答案
如果您使用无参数 Configure#configure()
方法,则 hibernate.cfg.xml
文件应位于类路径的根处。
这是来自o.h.c.Configuration.java
的相关片段:
/**
* Use the mappings and properties specified in an application
* resource named <tt>hibernate.cfg.xml</tt>.
*/
public Configuration configure() throws HibernateException {
configure( "/hibernate.cfg.xml" );
return this;
}
/**
* Use the mappings and properties specified in the given application
* resource. The format of the resource is defined in
* <tt>hibernate-configuration-3.0.dtd</tt>.
* <p/>
* The resource is found via <tt>getConfigurationInputStream(resource)</tt>.
*/
public Configuration configure(String resource) throws HibernateException {
log.info( "configuring from resource: " + resource );
InputStream stream = getConfigurationInputStream( resource );
return doConfigure( stream, resource );
}
这实际上记录在 Hibernate Core 引用指南中:
3.7. XML configuration file
An alternative approach to configuration is to specify a full configuration in a file named
hibernate.cfg.xml
. This file can be used as a replacement for thehibernate.properties
file or, if both are present, to override properties.The XML configuration file is by default expected to be in the root of your CLASSPATH. (...)
关于java - 在 Glassfish 3 Web 服务中使用 Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3517292/
如何将 glassfish 服务器的所有配置保存到另一个 glassfish 服务器? 最佳答案 看到这个问题:GlassFish v3 - portability of settings glass
我安装了 JDK 1.6 b45 并尝试运行 glassfish v2.2。当我尝试启动它时,总是会抛出以下错误: [#|2013-06-18T08:50:20.196+0200|WARNING|su
glassfish 访问日志位于哪里?我希望它们位于domains/domainX/logs 中。我需要更改设置才能激活访问日志记录吗? 谢谢 最佳答案 路径似乎正确,请查看此链接 http://bl
我想在没有互联网连接的情况下升级 Glassfish。但我已经下载了最新版本。 我已完成以下步骤, 例如。 galssfish-3.0 是旧版本,glassfish-3.1 是新版本。 步骤:1我刚刚
我在 Windows 8.1 中启动 glassfishs 服务时遇到问题 我得到了这个错误: c:\glassfishv3\bin>asadmin 创建服务 Found the Windows Se
我们最近切换到 Glassfish 3.1.2.2,并将几个 Web 应用程序打包为 war 文件。有时,这些应用程序所需的上下文根不同于文件名。 回到我们使用 Weblogic 时,我们通过在 we
我只是测试在 glassfish 服务器队列上发送消息,因此我在 glassfish 服务器上创建了 JMSResource,如下所示: 现在我已经在 Netbeans IDE 中创建了一个 Java
我想知道 GlassFish 项目是死了还是还活着?从一开始,我就非常喜欢玻璃鱼。我开始使用 GlassFish2 进行项目,并且有很多客户使用 GlassFish3。 几个月以来,我尝试将我的一些项
我使用 Glassfish 应用服务器,根据 README 文件,它只是说打开 CMD,键入一些命令,但我得到了 Nullpointer。我需要有人帮助我。我在 Windows 上。 asadmin
我最近将 Glassfish 从 3.1.2 更新到 4.0,并想设置一个我以前在我的应用程序上使用过的 JDBCRealm,它使用基于 FORM 的身份验证。密码在数据库中使用 SHA-256 散列
您如何确定正在运行哪个版本的GlassFish服务器? 该命令: /var/glassfish/bin/asadmin version ...回: Version = Sun Java System
所以,基本上: 在 RHEL 6.2 和 Java 6 上有一个独立的(无集群)Glassfish 3.1.2 新安装,没有任何部署的应用程序(真正的新安装)。 我第一次在服务器上启动了默认域 dom
我有一个带有 Glassfish 应用程序服务器的 EJB WEB 应用程序。 现在我想要像这样“/”的上下文根。 我当前的网址是“http://localhost:8080/Make ” 但我想要这
我正在尝试在 Windows 7 64 位上安装带有 Eclipse 的 GlassFish 4。一切正常,但是当我尝试设置服务器 root 时会发生以下情况(目录存在): 最佳答案 Glassfis
如何使用密码文件更改 Glassfish 域的管理员密码?我知道在提示时手动输入密码的传统方法。 但是,我想使用脚本更改管理员密码,而无需手动输入密码。 最佳答案 这是可能的,但如果您想以最简单的方式
我想在Glassfish 3.1中设置JDBC领域,并且关注此博客http://blog.gamatam.com/2009/11/jdbc-realm-setup-with-glassfish-v3.
我在远程机器上运行 Glassfish。是否有从命令提示符以 Debug模式启动 GF 的命令?远程机器运行 Ubuntu 10.04,我的机器运行 Windows 7(不确定这是否重要)。 我连接没
我们每周都会发布新的生产代码,Glassfish 没有遇到任何问题。这个周末我们不得不在我们的托管服务提供商处移动机架。没有任何代码更改(它们只是关闭电源、移动、重新安装和打开电源)但是我们在一个新的
对于生产环境,Apache Geronimo 是否更适合使用 ActiveMQ、Derby、Solr 的应用程序? 最佳答案 简而言之,如果您想要一个轻量级部署容器,请使用 Geronimo(它基于
我正在尝试设置一个备用文档根目录,以便提供上传的文档。我已将以下内容包含在我的 glassfish web xml 中 /dom 然后,我在名为 cars.pdf 的 Test 文件夹中存储了一
我是一名优秀的程序员,十分优秀!