在我工作的开发商店,我们有一个内部MAVEN存储库,以保留我们的库(专有和开放源)。我们面临的一个常见问题是,有时我们本地MAVEN存储库中的开源库已经过时了。是否有一种自动方法可以保持我在MAVEN存储库中使用的所有开源库始终更新?你有什么建议来解决这个问题?
答案 0 :(得分:4)
已提到Archiva,但nexus似乎更受欢迎。两者都旨在解决像你一样的问题
答案 1 :(得分:1)
假设你:
您可能希望创建一个单独的pom.xml文件,其依赖项如下:
<dependency>
<groupId>org.openfoo</groupId>
<artifactId>jfoo</artifactId>
<version>[1.0.0,2.0.0)</version>
</dependency>
这将告诉maven使用jfoo 1.0.0到jfoo 2.0.0所以当jfoo发布版本1.2.17时,你将在下一个版本中获取它,假设你的设置被设置为每次都检查版本。 / p>
这个pom不需要实际构建任何东西。只需列出您要跟踪的内容即可。
运行:
cd the-path-to-the-project; mvn -q -B -U package
每天通过cron更新该pom中的所有依赖项,并仅在出现问题时进行报告
顺便说一句,这是一个黑客攻击。如果开发人员的数量是> 3,你有资源运行nexus,不要打扰黑客。答案 2 :(得分:0)
看看Apache Archiva,Maven的存储库管理器。