24

假设我有一个A依赖于项目的开发项目B——该项目目前也在开发中,尚未发布。

所以,在A的 POM 文件中,我有以下部分:

<dependency>
  <groupId>com.example</groupId>
  <artifactId>project-b</artifactId>
  <version>1.0.0-SNAPSHOT</version>
</dependency>

在工作中,我们有一个远程仓库(Nexus)和一个 CI 框(运行 Jenkins)。

当我的同事对 SVN 进行更改B并提交时,Jenkins 将选择该更改,编译它并将其放入远程仓库。大约在那个时候,我可能会B在本地打开,进行更改,编译并将其安装到我的本地存储库中。

B当我尝试在mvn clean install A本地时,Maven 现在如何解决?

  • 如果找到一个,它是否总是默认为我的本地 SNAPSHOT?
  • 它会始终默认为远程快照吗?
  • 它会看时间戳吗?
  • 它会做一些不同的事情吗?

前几天我们把自己弄得一团糟,基本上不得不手动删除本地存储库,以确保我们得到了我们期望得到的版本。所以我现在正试图弄清楚到底发生了什么。(因此,如果您有指向文档中详细说明的地方的链接,那也将不胜感激......)在本地,我有时在我的存储库文件夹中有一些 SNAPSHOT 构建,一个没有,一些有什么看起来像SNAPSHOT文件名部分之后的时间戳......

4

1 回答 1

17
于 2015-09-05T18:34:28.080 回答