我在maven项目网页上阅读this article,其中列出了不同的目录布局(例如:src / main / resources,用于应用程序/库资源)。
问题在于,当我运行以下命令(found here)时:
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”?
谢谢你, 此致
答案 0 :(得分:8)
问题是当我运行以下命令(...)时,不会创建src / main / resources / META-INF目录。这对我很重要,因为我想要访问该目录中的“persistence.xml”。
maven quickstart原型不会创建src/main/resources
也不会src/test/resources
。有几种解释:
src/main/resources
而不是src/main/assembly
?换句话说,如果您使用此原型,只需手动添加src/main/resources/META-INF/persistence.xml
。
我应该在mvn命令中添加一个选项吗?如何自动生成包含“META-INF / persistence.xml”文件的“src / main / resources”?
你不能用这个原型 - 我真的不明白为什么这是一个如此大的问题。
虽然有一个JPA原型:
mvn archetype:create \ -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
这会创建以下引导程序JPA项目:
$ tree my-project-domain/ my-project-domain/ ├── pom.xml └── src ├── main │ ├── java │ │ └── com │ │ └── company │ │ └── project │ │ └── domain │ │ └── User.java │ └── resources │ └── META-INF │ └── persistence.xml └── test ├── java │ └── com │ └── company │ └── project │ └── domain │ ├── DbUnitDataLoader.java │ └── UserTest.java └── resources └── user.db.xml 16 directories, 6 files
答案 1 :(得分:3)
不要太依赖maven为你做事。这些原型只是提供基本模板。如果他们没有为您创建文件,请继续自行创建。
答案 2 :(得分:1)
在这里,您使用了快速入门原型,即样本,更多信息here。
如果您想要Java EE标准布局,请使用maven-archetype-j2ee-simple
原型:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-j2ee-simple -DinteractiveMode=false