Maven 2 使用settings.xml将jar文件下载到本地.m2存储库

Maven 2 使用settings.xml将jar文件下载到本地.m2存储库,maven-2,Maven 2,我有一个远程存储库,在不更改版本号的情况下每5小时更新一次jar。Pom文件无法更新,因为版本相同。每次我都需要手动删除。是否有任何方法可以使用settings.xml获取最新文件。您控制此远程存储库吗?如果是,则使用-快照版本号 或者请控制存储库的人员执行此操作。这是告诉Maven依赖关系处于不断变化状态的正确方法 如果您不能/不愿意这样做,请编写一个批处理/shell脚本来调用Maven,它会事先删除文件 我有一个远程存储库,在不更改版本号的情况下每5小时更新一次jar。Pom文件无法更新,

我有一个远程存储库,在不更改版本号的情况下每5小时更新一次jar。Pom文件无法更新,因为版本相同。每次我都需要手动删除。是否有任何方法可以使用settings.xml获取最新文件。

您控制此远程存储库吗?如果是,则使用-快照版本号

或者请控制存储库的人员执行此操作。这是告诉Maven依赖关系处于不断变化状态的正确方法

如果您不能/不愿意这样做,请编写一个批处理/shell脚本来调用Maven,它会事先删除文件

我有一个远程存储库,在不更改版本号的情况下每5小时更新一次jar。Pom文件无法更新,因为版本相同。每次我都需要手动删除。是否有任何方法可以使用settings.xml获取最新文件

不,没有办法做到这一点。一旦下载了具有固定版本(相对于快照)的工件,就不会再下载它,除非您将其从本地存储库中删除。实际上,在不更改固定版本号的情况下重新发布jar是一种邪恶的做法,必须避免。这不是maven的工作方式,在执行此操作时,如果不要求用户明确地从本地存储库中删除jar,就无法预测用户真正使用的版本,这是一种非常薄弱的做法,这将导致不可预测的结果

处理频繁发布的正确方法是更改版本号并相应地更新POM,或者使用快照版本,这是开发过程中常用的方法。根据定义,如果远程存储库中提供了更新版本,则将下载快照版本。这就是你想要的,这是管理这种情况的专业方法。有关快照的更多详细信息,请参阅的章节。

您可以在settings.xml中将存储库的元素updatePolicy设置为always:

<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>