我有一个远程存储库,可以在5小时内更新jar,而不会更改版本号.Pom文件无法更新,因为版本相同。每次我需要手动删除。有什么方法我可以得到使用settings.xml的最新文件。
答案 0 :(得分:0)
您是否控制此远程存储库?如果是,则使用“-SNAPSHOT”版本号。
或者要求控制存储库的人员执行此操作。这是告诉Maven依赖性处于不稳定状态的正确方法。
如果您不能/不愿意这样做,请自己编写一个批处理/ shell脚本来调用Maven,它会事先删除该文件。
答案 1 :(得分:0)
我有一个远程存储库,可以在5小时内更新jar,而不会更改版本号。由于版本相同,Pom文件无法更新。每次我需要手动删除。有什么办法可以使用
settings.xml
获取最新文件。
不,没有办法实现这一目标。一旦下载了具有固定版本(与SNAPSHOT相对)的工件,除非您从本地存储库中删除它,否则不会再次下载它。实际上,重新释放jar而不更改其固定版本号是 EVIL 的做法,必须避免。这不是maven的工作原理,在这样做的时候,不可能预测人们真正使用的是哪个版本(没有要求他们明确地从他们的本地存储库中删除jar这是一种非常弱的做法),这将导致不可预测的结果。
处理频繁发布的正确方法是更改版本号(并相应地更新POM)或使用SNAPSHOT版本,这是开发过程中使用的常用方法。根据定义,如果远程存储库中提供了更新的版本,则将下载SNAPSHOT版本。这就是您正在寻找的,这是管理这种情况的主要方式。有关SNAPSHOT的更多详细信息,请参阅9.3.1.2. SNAPSHOT Versions的Maven: The Definitive Guide一章。
答案 2 :(得分:0)
您可以为 settings.xml 中的存储库将元素 updatePolicy 设置为始终:
<profiles>
<profile>
<id>default</id>
<repositories>
<repository>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<id>snapshots.jboss.org</id>
<name>Snapshot JBoss Repository for Maven</name>
<url>http://snapshots.jboss.org/maven2/</url>
<layout>default</layout>
</repository>
</repositories>
</profile>
</profiles>