【发布时间】:2018-09-03 13:12:08
【问题描述】:
我有一个 maven 项目 (myApp) 取决于快照版本中的另一个 maven 项目。 喜欢:
<dependency>
<groupId>org.group.dep</groupId>
<artifactId>arty</artifactId>
<version>12.1.4-SNAPSHOT</version>
</dependency>
但是在“arty”在没有更改版本的情况下获得更新后,我遇到了这个问题(我知道这将是最干净的解决方案)。 我在本地构建了 myApp 并且仍然获得了旧版本的“arty”依赖项。
我验证了适用于我(和一所大学)的拖车选项:
1)手动清理本地存储库:导航到我的.m2/repo/org/group/dep/arty并删除里面的所有文件夹。在本地重建 myApp 后,它工作正常 - 再次从 artifactory.company.com 下载了带有更新内容的 arty。
2) arty 包的本地构建,因此它在本地存储库中得到更新。重建 myApp 本地后,它工作正常。
但我在 Jenkins 上遇到了类似的问题:
我得到了一份詹金斯的工作,只是在 org.group.dep.arty 之前构建 org.group.myApp 而没有构建。它因缺少“艺术”形式的更改而失败。
我现在可以做些什么来解决我的问题?
我不能依赖第一次构建org.group.dep.arty,因为我不能确定 Jenkins 是否可以使用相同的本地存储库在同一主机上运行这两个作业(我不想改变它)。
在我手动清除该 Jenkins 节点上的 org.group.dep.arty 并运行而不是 myApp-job 之后,myApp-Jobs 以某种方式失败了(不知何故没有下载包)。
我终于找到了mvn -u,但当我尝试这个时,我也很失望。
我在那个詹金斯上尝试了不同的 Maven 版本并得到了相同的结果。
有没有办法强制更新快照版本?
【问题讨论】:
标签: maven jenkins dependencies updates