【问题标题】:maven archetype property substitutionmaven 原型属性替换
【发布时间】:2012-12-06 14:03:41
【问题描述】:
任何人都知道是否可以在archetype-metadata.xml 中将一个requredProperty 的默认值替换为另一个?
所以,我尝试做这样的事情:
<requiredProperty key="name"/>
<requiredProperty key="groupId">
<defaultValue>com.mycompamy.${name}</defaultValue>
</requiredProperty>
但是当我开始以交互模式从工件生成项目时,maven 首先问我groupId 属性。但正如我所料,name 并非如此。
是否有可能改变这种行为?
【问题讨论】:
标签:
maven-3
maven-archetype
【解决方案1】:
您的问题是由required property 加载顺序引起的。 Maven 按字母顺序加载每个自定义required property。你可能无法改变它。但是有两种方法可以解决您的问题:
-
像这样重命名你的变量:
"0_name"
"1_groupId"
现在它会先问你名字。
-
使用完整的maven命令,只传递名称参数
mvn archetype:generate -DarchetypeGroupId=?? -DarchetypeArtifactId=?? -DgroupId=?? -DartifactId=?? -Dversion=?? -Dpackage=?? -Dname=??
用有效参数替换??
希望对您有所帮助。
编辑:现在我看到了asked time。很离题,但也许它会帮助别人