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
相关产品推荐
相关产品推荐

