交互式maven原型目录

时间:2012-11-08 10:52:28

标签: java maven

我正在创建一个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: :

网络上的任何指针或某些链接也会有所帮助。

1 个答案:

答案 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>

尝试添加您的属性:)