gpt4 book ai didi

maven - 我可以在运行时指定一个 Maven project.artifactId 吗?

转载 作者:行者123 更新时间:2023-12-04 12:23:36 24 4
gpt4 key购买 nike

我有一个 maven POM,我想将其用作模板,根据我传递给它的参数生成具有不同名称的 Artifact 。但我不知道如何在运行时指定 artifactId。

如果我参数化 <artifactId>像这样的元素:

<artifact>foo-${bar}</artifact>

maven 提示:

[警告] 'artifactId' 包含一个表达式,但应该是一个常量。

如果我遗漏 <artifactId>在 POM 中并尝试在命令行中指定它
mvn -Dproject.artifactId=foo ...

maven 提示:

[错误] 'artifactId' 丢失。

除了诉诸从模板即时生成 POM 文件之外,还有其他技巧可以用来完成此操作吗? [嗯,也许我可以使用 maven 资源过滤来做到这一点......]

最佳答案

可以在运行时设置 artifactId(我将以下解决方案用于包含多个应用程序的单一存储库)。您的项目 pom.xml 应包括:

<project>
<artifactId>${artifactId}</artifactId>
...
<properties>
<artifactId>defaultArtifactId</artifactId>
</properties>
...
要在运行时设置 artifactId,请使用 mvn带有 -DartifactId=foo 的命令选项。
示例: mvn verify -DartifactId=foo

关于maven - 我可以在运行时指定一个 Maven project.artifactId 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10954890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com