当前位置: 首页 > 知识库问答 >
问题:

在哪里把persistence.xml在图书馆罐子使用maven?

方昊英
2023-03-14

在工作中,我们有一个实体库,它被多个客户端用于库(几个servlet、一个桌面应用程序等)。实体库由JPA注释类和最突出的persistence.xml.

所有项目都使用maven配置。

persistence.xml文件应该放在哪里?它需要位于该实体库的jar文件中,我不知道如何使用maven配置它。

(我们只是将一个项目拆分为几个较小的项目)

“更新”为了清楚这一点,有一个包含persistence.xml的Maven-Project A和另一个依赖于该项目的(B)。当尝试在A中使用EntityManager时,我persistence.xml在A中的src/main/Resources/META-INF/persistence.xml中,没问题,在B中:没有任何工作。

EclipseLink给出以下警告:

[EL Warning]: The collection of metamodel types is empty. Model classes may not have been found during entity search for Java SE and some Java EE container managed persistence units.  Please verify that your entity classes are referenced in persistence.xml using either <class> elements or a global <exclude-unlisted-classes>false</exclude-unlisted-classes> element

我怀疑这种坚持。找不到xml,但它存在于目标jar中。

共有3个答案

能逸清
2023-03-14

XML配置文件几乎总是属于包层次结构中的src/main/Resources(就像Java源文件一样)。这些文件将被复制到同一层次结构中的工件中。

竺勇
2023-03-14

我只有persistence.xml在我的WAR中工作时,放在WEB-INF/类/META-INF,就像留档建议的那样:

http://docs.oracle.com/cd/E19159-01/819-3669/bnbrj/index.html声明如下:

如果将持久性单元打包为WAR文件中的一组类,persistence.xml应该位于WAR文件的WEB-INF/class/META-INF目录中。

在我的Eclipse项目道具中,我将其添加到构建路径中:

src\main\resources

我的Maven项目persistence.xml在以下位置:

src\main\resources\META-INF\persistence。xml

运行Maven clean install后,WAR将通过以下内容构建:

WEB-INF\classes\META-INF\persistence。xml

当我将此WAR放入Tomcat 7的webapps文件夹时,它被正确部署并且JPA可以工作。

鲜于俊侠
2023-03-14

正如@Dave在上面提到的,src/main/resources就是这个地方。说到持久性。xml应该放在META-INF文件夹中。总之:src/main/resources/META-INF/persistence。xml

 类似资料:
  • 我正在处理一个包含多个子项目的项目,它们都使用我创建的用于哈希、签名和加密消息的实用程序库。这个库基本上是bouncy Castle的包装器。 当我运行与库相关联的测试时,一切都通过了,一切都好了。当我将实用程序库打包到jar中时,会发生两件事: 正在使用库的子项目找不到与bouncy Castle关联的JAR。 即使将bouncy castle JAR添加到正在使用库的子项目中,项目也找不到bo

  • 问题内容: 我使用Eclipse(3.4),并且类编译时没有警告或错误。我的项目使用一个外部jar文件。 为了从另一个项目(不在Eclipse中)使用此类时,我需要在哪里放置此外部jar文件? 我可以将jar提取到项目文件夹中,但是感觉不对。 编辑:这个问题不是关于在Eclipse中导入jar,而是在Eclipse之外使用它们。 问题答案: 如果要在Eclipse项目中包含JAR文件,通常可以在项

  • 问题内容: 在工作中,我们有一个实体库,供多个客户端使用该实体库(几个servlet,一个桌面应用程序等)。实体库由JPA注释的类和最著名的persistence.xml组成。 所有项目都使用maven进行配置。 应该将persistence.xml文件放在哪里?它需要位于该实体库的jar文件中,而且我不确定如何使用maven进行配置。 (我们只是将一个项目分成几个较小的项目) ’‘’UPDATE

  • 我必须给主类加上JavaMailUtl类这是我的JavaMailUtl类: 这是我的主要课程: 当我尝试运行项目时,出现以下错误: 多次仔细检查代码,发现没有问题,我的每个对象都指向了正确的位置。

  • 问题内容: 我需要在jar中打包一个配置文件。配置文件位于jar文件的根目录下。但是我收到以下错误: 引起原因:java.lang.IllegalArgumentException:在java.io.File中URI不分层。(未知源) 问题答案: 您应该改用。如果文件嵌入在您的JAR中,则URI最有可能是bundle:// URI

  • a)如果我把persistence.xhtml放在src/main/java/META-INF/Gradle不会将其包含在生成的jar文件中,因为它不是java文件。 b)如果我把它放在src/main/Resources/META-INF/Gradle会将它包含在生成的jar文件中但是Eclipse会抱怨"Nopersistence.xmlfile find in project"即使我在源代码