【问题标题】:Interactive maven archetype catalog交互式 Maven 原型目录
【发布时间】:2012-11-08 10:52:27
【问题描述】:

我正在创建一个 maven 插件,我想允许用户通过指定我的插件所需的一些细节来创建一个项目。 我知道在使用简单的 mvn archetype:generate 创建项目时 它指向要求 groupId、artifactId 等的 maven 默认 archtype 目录。

这里的问题是我如何创建自己的自定义目录,以便我可以为客户创建交互式项目。

例如当客户指向我的原型目录时,例如

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: :

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

【问题讨论】:

    标签: java maven


    【解决方案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>
    

    尝试添加您的属性:)

    【讨论】:

      猜你喜欢
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      相关资源
      最近更新 更多