Maven 原型:生成强制 groupId 作为包结构



我正在尝试创建一个原型来生成一个Maven项目,该项目具有一些将在文件中使用的属性以及文件名和目录结构。

我遇到的问题是如何控制包目录结构?到目前为止,无论我尝试了什么,我指定的groupId(这是archetype:generate中的强制参数(都会强制自己作为包目录结构。如果我尝试在我的archetype-resources目录设置或 Java 文件本身的包名称中有不同的东西,我最终会得到我在那里指定的任何内容以及groupId

实际上,我希望我的项目结构与我的groupId不同,但原型生成似乎迫使groupId到包结构上。

有没有办法阻止这种情况?

如果我使用以下命令:

archetype:generate -DarchetypeGroupId=archetype.test -DarchetypeArtifactId=archetype-test -DarchetypeVersion=1.0-SNAPSHOT -DgroupId=com.example.test.project-DartifactId=my.test.project.artifact -Dversion=1.0.0-SNAPSHOT

具有以下fileset

<fileSet filtered="true" packaged="true">
<directory>src/main/java</directory>
<includes>
<include>**/MyClass.java</include>
</includes>
</fileSet>

我最终发现我的 Java 文件位于:

src/main/java/com/example/test/project/MyClass.java.

我仍然想要相同的groupId,但我希望我的类位于单独的目录中,例如:

src/main/java/com/different/project/MyClass.java

请参阅从原型创建项目 – 批处理模式:

可以调用原型插件以批处理模式生成项目(以摆脱提示(。这是通过向原型插件提供所有需要的值作为系统属性来实现的。

  • package指定生成项目的源的包

长话短说,将以下内容添加到命令行:

-Dpackage=com.different.project

最新更新