我正在创建一个maven插件,我希望允许用户通过指定我的插件所需的一些细节来创建项目。 我知道在使用简单的 mvn archetype:generate 创建项目时 它指向maven默认的archtype目录,它要求groupId,artifactId等
这里的问题是如何创建我自己的自定义目录,以便我可以为客户创建一个交互式项目。
e.g。当客户指向我的原型目录时,如
mvn archetype:generate -DarchetypeCatalog=http://abc.com/archetype-catalog.xml
他应该能够看到以下内容,
Define value for project_home: C:/XYZ
Define value for server-url: http://localhost:8080/
Define value for groupId: : com.xyz
Define value for artifactId: : sample
Define value for version: 1.0-SNAPSHOT: :
Define value for package: com.xyz
Confirm properties configuration:
project-home: C:/XYZ
server-url: http://localhost:8080/
groupId: com.xyz
artifactId: sample
version: 1.0-SNAPSHOT
package: com.xyz
Y: :
网络上的任何指针或某些链接也会有所帮助。
答案 0 :(得分:1)
我已经将pustefix-archetype-basic视为一个示例,并且在META-INF / maven / archetype-metadata.xml中有以下代码:
<requiredProperties>
<requiredProperty key="groupId">
<defaultValue>mytld.myorg</defaultValue>
</requiredProperty>
<requiredProperty key="artifactId">
<defaultValue>myapp</defaultValue>
</requiredProperty>
<requiredProperty key="version">
<defaultValue>1.0-SNAPSHOT</defaultValue>
</requiredProperty>
<requiredProperty key="package">
<defaultValue>mytld.myorg.myapp</defaultValue>
</requiredProperty>
<requiredProperty key="pustefixVersion">
<defaultValue>0.18.30</defaultValue>
</requiredProperty>
</requiredProperties>
尝试添加您的属性:)