maven-release-plugin 和表达式的问题
Posted
技术标签:
【中文标题】maven-release-plugin 和表达式的问题【英文标题】:Problems with maven-release-plugin and expressions 【发布时间】:2015-09-16 11:11:32 【问题描述】:我们正在尝试使用 Jenkins 上的 maven-release-plugin 发布我们的项目。
很遗憾,我们遇到了这个错误:
[ERROR] 未能执行目标 org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare (default-cli) on project our-project: 工件 (our-group:our-parser) 需要与找到的版本不同的版本(1.3) ($our-parent.version) 用于项目中的表达式 (our-parser.version) (我们的组:我们的项目)。 -> [帮助 1]
正如我从日志文件中看到的,变量 our-parent.version
已被替换为 1.3
。 our-parser.version
引用变量 our-parent.version
。所以一切都应该没问题。那么为什么会出现这个错误呢?
这是我们的 POM:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- some stuff -->
<properties>
<our-parent.version>1.3-SNAPSHOT</our-parent.version>
<our-parser.version>$our-parent.version</our-parser.version>
</properties>
<!-- some stuff -->
<modules>
<!-- some stuff -->
<module>our-parser</module>
</modules>
<dependencyManagement>
<dependencies>
<!-- some stuff -->
<dependency>
<groupId>groupId</groupId>
<artifactId>our-parser</artifactId>
<version>$our-parser.version</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
【问题讨论】:
我们可以给你一些 poms 吗? @vincent 我已经附上了相关的sn-ps。 就像@bmargulies 所说,maven 发布插件会改变你的 pom 的版本,而不是你自己的属性的值。如果您在快照版本中有依赖项,它将失败 【参考方案1】:也许:
<our-parent.version>engine-1.3-SNAPSHOT</our-parent.version>
应该是
$project.version
?
【讨论】:
以上是关于maven-release-plugin 和表达式的问题的主要内容,如果未能解决你的问题,请参考以下文章
将 maven-release-plugin 与 git-1.8.5 一起使用
使用 maven-release-plugin 部署程序集包
避免使用 maven-release-plugin 为下一次开发迭代更新 POM 版本