想象一下两个项目.第一个是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>
Run Code Online (Sandbox Code Playgroud)
如果mvn install被召唤framework-core会怎么样?我发现工件被复制到文件夹并被命名为*.1.1.0-SNAPSHOT.jar(如预期的那样).
这使我假设只有在将此1.1.0-SNAPSHOT版本定义为依赖项而非精确构建时才使用此版本.
要测试一些本地而不将其部署到maven存储库:调用mvn install,将依赖项更改为1.1.0-SNAPSHOT- 并使用刚安装的工件?或者是否可以覆盖特定的构建(使用install生命周期阶段)?
当使用带有时间戳版本的依赖项时-SNAPSHOT - 就像-20100518.134928-9在这种情况下 - 你锁定版本并明确告诉Maven使用这个版本.即使-SNAPSHOT构建了new ,依赖项也不会更新,这就是"锁定快照"的重点.
如果要使用最新版本-SNAPSHOT,请声明-SNAPSHOT版本的依赖项以解锁依赖项:
<dependency>
<groupId>org.example</groupId>
<artifactId>framework-core</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
手动更改它并不是什么大问题,但在某些情况下,Versions Maven插件的以下目标可能会有所帮助:
versions:lock-snapshots在pom中搜索所有-SNAPSHOT版本并将其替换为-SNAPSHOT的当前时间戳版本,例如-20090327.172306-4versions:unlock-snapshots在pom中搜索所有时间戳锁定的快照版本,并用-SNAPSHOT替换它们.版本:解锁快照
| 归档时间: |
|
| 查看次数: |
2837 次 |
| 最近记录: |