我有一个带有pom文件的maven项目如下:
<groupId>my.group.id</groupId>
<artifactId>my-artifact</artifactId>
<version>2.0.2-SNAPSHOT</version>
此项目由另一个项目使用,但版本较低<version>2.0.1</version>
:
<dependencies>
<!-- other -->
<dependency>
<groupId>my.group.id</groupId>
<artifactId>my-artifact</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
我不想将第一个pom中的version
更改为2.0.1
,所以我想知道是否有任何方法可以覆盖第一个项目下运行mvn clean install
的版本?< / p>
非常感谢你!
答案 0 :(得分:1)
我尝试使用Maven属性(例如2.0.1
)替换第二个项目中的版本属性my-artifact.version
,默认为2.0.1。在命令行上,您可以构建此项目并使用快照版本my-artifact
覆盖引入的属性:
cd other-project
mvn clean install -Dmy-artifact.version=2.0.2-SNAPSHOT
这是第二个项目的样子:
<project>
...
<properties>
<my-artifact.version>2.0.1</my-arfifact.version>
...
</properties>
...
<dependendies>
<dependency>
<groupId>my.group.id</groupId>
<artifactId>my-artifact</artifactId>
<version><${my-artifact.version}</version>
</dependency>
...
</dependencies>
...
</project>
答案 1 :(得分:0)
也许这可能会有所帮助:http://maven.apache.org/maven-release/maven-release-plugin/update-versions-mojo.html
这是我知道自动更改一组poms
版本的唯一方法答案 2 :(得分:0)
听起来这个神器my-artifact之前已经发布过,因此版本控制中应该存在一个标记。最简单的方法是检查该状态并在其上执行简单的mvn安装。
感谢@khmarbaise的评论!您告诉我如何使用版本2.0.1的正确内容获取工件