如何在MAVEN中保持更新的库?
-
03-07-2019 - |
题
在我工作的开发商店中,我们有一个内部 MAVEN 存储库,用于保存我们的库(专有和开源)。我们面临的一个常见问题是,有时,本地 MAVEN 存储库中的开源库会过时。是否有一种自动方法可以使我在 MAVEN 存储库中使用的所有开源库始终保持更新?您建议如何解决这个问题?
解决方案
假设你:
- 不想下载所有内容
- 不想运行另一个服务器进程
- 只想跟踪有限数量的项目
您可能想要创建一个单独的 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 时,您将在下一个构建中获取该版本,假设您的设置设置为每次检查版本。
这个 pom 不需要实际构建任何东西。只需列出您想要跟踪的内容即可。
跑步:
cd the-path-to-the-project; mvn -q -B -U package
通过 cron 每天一次将更新该 pom 中的所有依赖项,并且仅在出现问题时报告
顺便说一句,这是一个黑客。如果开发人员数量 > 3 并且您有运行 Nexus 的资源,则不必费心进行 hack。
其他提示
Archiva已被提及,但 nexus 似乎更受欢迎。两者都旨在解决像你一样的问题
查看 Apache Archiva ,Maven的存储库管理员。
不隶属于 StackOverflow