【发布时间】:2017-03-16 17:32:32
【问题描述】:
我想在运行时在 POM 中定义 artifactId。从this question 的回答中我知道这是不好的做法,应该使用 Maven 原型,但我真的很想知道这是否可能。
目前我有一个带有这样的 artifactId 的 POM:
<artifactId>myproject${var}</artifactId>
我可以通过在命令行设置变量成功构建项目:
mvn install -Dvar=justatest
现在可以在运行时更改此输入变量吗?例如将其转换为大写(例如使用 gmaven-plugin)或类似的?
【问题讨论】:
-
运行时是什么意思?你的意思是在 Maven 构建期间?
-
是的,在“mvn build”期间
-
那有什么用例?
-
用例与问题中描述的一样简单。我有一个成功构建并以传入参数命名的 POM,我想将该参数更改为大写。
-
我没有看到用例,除了你写的你想这样做......所以结果它没有意义。这会产生不可重现的构建。更改 artifactId 没有意义。我假设您不会通过属性更改 Java 类的名称?