gpt4 book ai didi

maven-2 - 如果依赖项是唯一的快照版本并且调用了 install,那么 maven 选择什么?

转载 作者:行者123 更新时间:2023-12-01 10:14:03 28 4
gpt4 key购买 nike

想象两个项目。第一个是framework-core版本中的项目 1.1.0并且有几个快照版本。另一个是example-businessframework-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 生命周期阶段)?

最佳答案

当使用带有 -SNAPSHOT 时间戳版本的依赖项时- 喜欢 -20100518.134928-9在这种情况下 - 你 版本并明确告诉 Maven 使用 此版本 .即使是新的-SNAPSHOT是构建,依赖项不会更新,这就是“锁定快照”的意义所在。

如果你想使用最新的-SNAPSHOT , 声明对 -SNAPSHOT 版本的依赖以解锁依赖:

<dependency>
<groupId>org.example</groupId>
<artifactId>framework-core</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>

手动更改它不是什么大问题,但是 Versions Maven plugin 的以下目标在某些情况下可能会有所帮助:

  • versions:lock-snapshots searches the pom for all -SNAPSHOT versions and replaces them with the current timestamp version of that -SNAPSHOT, e.g. -20090327.172306-4
  • versions:unlock-snapshots searches the pom for all timestamp locked snapshot versions and replaces them with -SNAPSHOT. versions:unlock-snapshots

关于maven-2 - 如果依赖项是唯一的快照版本并且调用了 install,那么 maven 选择什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2865296/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com