You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven中能否设置供其他POM使用的变量?依赖加载报错求助

Maven构建依赖加载变量替换失效问题

构建Maven项目时出现依赖加载错误,报错信息如下:

[ERROR] Failed to execute goal on . . .

    Could not transfer artifact my.group:libme1:${someVariable} from/to . . .

我判断发布该artifact的开发者遗漏了变量${someVariable}的设置,这应该是个bug,目前正尝试通过手动设置该变量绕过问题。

我所依赖的JAR(my.group:libme1:1.2.3)的POM片段如下:

<groupId>my.group</groupId>
<artifactId>libme1</artifactId>

<parent>
    <groupId>my.group</groupId>
    <artifactId>libme1-parent</artifactId>
    <version>${someVariable}</version>
</parent>

我尝试在命令行通过-DsomeVariable=1.2.3定义变量,但并未生效,执行的命令为:

mvn -DsomeVariable=1.2.3 clean install

之前看到的技术文章提到这个命令应该有效,但实际没有作用。我还执行了以下命令:

mvn -DsomeVariable=1.2.3 help:effective-pom

从输出可以看到变量已被设置,说明当前使用的POM中能识别该变量,但其他POM却无法获取到它的值。

请问有没有办法设置该变量,让它能被其他POM读取?我猜测这可能无法实现。

我已查阅Maven文档中关于Activation的相关内容,同时已经联系该artifact的发布者咨询正确用法。如果您认为这是bug,也请告知我。

内容的提问来源于stack exchange,提问作者PatS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 19:15:11