maven archetype property substitution

2019-02-26 04:17发布

Anybody knows is it possible to make substitution for default value of one requredProperty to another in archetype-metadata.xml ?

So, I try to do something like this:

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

But when I start to generate project from artifact in interactive mode, maven asks me about groupId property first. But not for name as I expected.

Is it possible to change this behaviour?

1条回答
\"骚年 ilove
2楼-- · 2019-02-26 05:15

Your problem is caused by required property loading order. Maven loads every custom required property in alphabetical order. You probably cant change it. But there are 2 ways which will solve your problem:

  1. Renaming ur variables like this:

    "0_name"

    "1_groupId"

    Now it will ask you about name firstly.

  2. Use full maven command, passing only name parameter

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

    Replace ?? with valid parameters

Hope it will helps you.

EDIT: now i see an asked time. Pretty offtopic but maybe it will help someone else

查看更多
登录 后发表回答