想象一下两个项目。第一个是framework-core
版本中的项目1.1.0
并有几个快照版本。另一个是example-business
项目具有以下依赖关系framework-core
在构建迭代编号 9 上。
<dependency>
<groupId>org.example</groupId>
<artifactId>framework-core</artifactId>
<version>1.1.0-20100518.134928-9</version>
</dependency>
如果发生什么情况mvn install
被称为framework-core
?我发现该工件被复制到该文件夹并命名为*.1.1.0-SNAPSHOT.jar
(如预期)。
这让我假设这个版本仅在以下情况下才使用1.1.0-SNAPSHOT
版本被定义为依赖项,而不是精确的构建。
要测试本地内容而不将其部署到 Maven 存储库:调用mvn install
,将依赖项更改为1.1.0-SNAPSHOT
——并且使用了刚刚安装的神器?或者是否可以覆盖特定的构建(使用install
生命周期阶段)?
当使用依赖项时时间戳版本 of a -SNAPSHOT
- like -20100518.134928-9
在这种情况下 - 你lock版本并明确告诉 Maven 使用这个版本。即使是新的-SNAPSHOT
构建后,依赖项不会更新,这就是“锁定快照”的要点。
如果你想使用最新的-SNAPSHOT
,声明对 -SNAPSHOT 版本的依赖以解锁依赖:
<dependency>
<groupId>org.example</groupId>
<artifactId>framework-core</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
手动更改它并不是什么大问题,但以下目标Maven 插件版本 http://www.mojohaus.org/versions-maven-plugin/在某些情况下可能会有所帮助:
-
versions:lock-snapshots http://www.mojohaus.org/versions-maven-plugin/examples/lock-snapshots.html搜索 pom 中的所有内容 -SNAPSHOT
版本并将其替换为
当前时间戳版本
-快照,例如-20090327.172306-4
-
versions:unlock-snapshots http://www.mojohaus.org/versions-maven-plugin/examples/unlock-snapshots.html在 pom 中搜索所有时间戳
锁定快照版本并替换
他们与-SNAPSHOT。
版本:解锁快照
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)