【发布时间】: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 的版本,而不是你自己的属性的值。如果您在快照版本中有依赖项,它将失败
标签: java maven jenkins maven-3 maven-release-plugin