我正在尝试对某些环境变量使用maven-release-plugin,但是当我为发布版本使用环境变量时遇到问题。
我执行:为什么maven不会替换maven-release-plugin发布版本的环境变量?
mvn release:clean --batch-mode -Dtag=${env.tag} -Dproject.rel.com.mycompany.project:project-root=${env.project.rel.com.mycompany.project:project-root} -Dproject.dev.com.mycompany.project:project-root=${env.project.dev.com.mycompany.project:project-root} release:prepare
我越来越:
[错误]未能执行目标 org.apache.maven.plugins:行家释放小插件:2.4:准备 ( default-cli)project-root:解析版本时出错, 无法确定下一个版本:无法解析版本字符串: “$ {env.project.rel.com.mycompany.project:project-root}” - > [帮助1]
如果将$ {env.project.rel.com.mycompany.project:project-root}更改为特定版本,则该命令将通过。但正如你可以看到我正在使用:
$ {env.tag}
$ {env.project.dev.com.mycompany.project:project-root}
没有问题。这是一个错误?或者我做错了什么?
其他注意事项:
环境变量:
标签= 2.55
project.rel.com.mycompany.project:项目根= 2.55
project.dev.com.mycompany.project :项目根= 2.56-SNAPSHOT
C:> MVN -version
C:>设置MAVEN_OPTS = -Xmx1024m -XX:MaxPermSize参数=512米
的Apache的Maven 3。 0.4(r1232337; 2012-01-17 09:44:56 + 0100)
Maven home:C:\ Users \ John \ Documents \ apache-maven-3.0.4-bin
Java版本:1.6.0_25,供应商:Sun Microsystems Inc 。
Java主页:C:\ JDK \ jdk1.6.0_25 \ jre的
默认的语言环境:en_US,则平台编码:
的Cp1252 OS 名称: “Windows 7的” 版本: “6.1”,拱: “AMD64”家人:“窗口”
1.此只给出了相同的结果MVN发布:清洁--batch模式释放:准备 2.“......在大写......”为什么$ {} env.tag工作然后? – despot
现在已完全阅读您的原始文章,env.tag已正确解析,因为您已在环境中正确设置属性“标记”。其他人不是因为你已经在环境中设置了他们的“env”。前缀从环境属性中删除此前缀,但将其保留在命令行中。希望这将解决你的问题。 – Farid
“env。”前缀“是我无意中从命令字符串复制的内容。我在帖子上做了一个修改。所以同样的问题再次站立。顺便说一句,谢谢你的尝试;) – despot