Maven原型属性替代(maven archetype property substitution)

2019-07-04 16:18发布

任何人都知道是有可能使一个默认值替换requredProperty到另一个原型,metadata.xml中?

所以,我尝试做这样的事情:

<requiredProperty key="name"/>
<requiredProperty key="groupId">
   <defaultValue>com.mycompamy.${name}</defaultValue>
</requiredProperty>

但是,当我开始产生在交互模式神器项目时,Maven问我有关groupId第一个属性。 但不适合name如我所料。

是否有可能改变这种行为?

Answer 1:

你的问题是造成required property加载顺序。 Maven的负载每个自定义required property按字母顺序排列。 你也许不能改变它。 但也有2种方式,这将解决您的问题:

  1. 重命名这样的乌尔变量:

    "0_name"

    "1_groupId"

    现在,它会问你的名字先。

  2. 使用完整的maven命令,只传递名称参数

    mvn archetype:generate -DarchetypeGroupId=?? -DarchetypeArtifactId=?? -DgroupId=?? -DartifactId=?? -Dversion=?? -Dpackage=?? -Dname=??

    更换?? 用有效参数

希望它会帮助你。

编辑:现在我看到一个asked time 。 漂亮offtopic但也许这将帮助别人



文章来源: maven archetype property substitution