Maven不生成“persistence.xml”文件

我在maven项目网页上阅读了这篇文章 ,其中列出了不同的目录布局(例如:src / main / resources,用于Application / Library资源)。

问题是当我运行以下命令( 在这里找到 )时:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 

未创建src / main / resources / META-INF目录。 这对我很重要,因为我想要访问该目录中的“persistence.xml”。

我应该在mvn命令中添加一个选项吗? 如何自动生成包含“META-INF / persistence.xml”文件的“src / main / resources”?

谢谢,问候

问题是,当我运行以下命令(…)时,不会创建src / main / resources / META-INF目录。 这对我很重要,因为我想要访问该目录中的“persistence.xml”。

maven quickstart原型不会创建src/main/resourcessrc/test/resources 。 有几种解释:

  • 正如其名称所述,这个原型允许快速启动一个项目,由你来塑造它。
  • 为什么这个原型会创建src/main/resources而不是src/main/assembly
  • 在很长一段时间内实际上不可能创建空目录(参见ARCHETYPE-57 )。

换句话说,如果使用此原型,只需手动添加src/main/resources/META-INF/persistence.xml

我应该在mvn命令中添加一个选项吗? 如何自动生成包含“META-INF / persistence.xml”文件的“src / main / resources”?

你不能用这个原型 – 我真的不明白为什么这是一个如此大的问题。

但是有一个JPA原型:

 mvn原型:创建\
   -DgroupId = com.mycompany.project \
   -DartifactId = my-project-domain \
   -DpackageName = com.company.project.domain \
   -DarchetypeGroupId = com.rfc.maven.archetypes \
   -DarchetypeArtifactId = jpa-maven-archetype \
   -DarchetypeVersion = 1.0.0 \
   -DremoteRepositories = HTTP://maven.rodcoffin.com/repo

这创建了以下bootstrap JPA项目:

 $ tree my-project-domain /
我的项目域/
 ├──pom.xml
 └──src
     ├──主要
     │├──java
     ││└──com
     ││└──公司
     ││└──项目
     ││└──域名
     ││└──User.java
     │└──资源
     │└──META-INF
     │└──persistence.xml
     └──测试
         ├──java
         │└──com
         │└──公司
         │└──项目
         │└──域名
         │├──DbUnitDataLoader.java
         │└──UserTest.java
         └──资源
             └──user.db.xml

 16个目录,6个文件

不要太依赖maven为你做事。 这些原型只是提供基本模板。 如果他们没有为您创建文件,请继续自行创建。

在这里您使用了quickstart原型,这是样本, 这里有更多信息。 如果你想要一个Java EE标准布局,你应该使用maven-archetype-j2ee-simple原型:

 mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-j2ee-simple -DinteractiveMode=false