项目更改版本号之后打包失败(resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced)

在修改项目的版本号之后,如pom.xml中<version>1.2.0-SNAPSHOT</version>替换为<version>1.0.0-RELEASE</version>后,执行打包报错如下:

 ·················resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced -> [Help 1]

项目jar包是放在nexus上的,这是由于私服的更新策略导致的,nexus上的依赖库在更新库版本号打包时并没有更新,导致项目打包找不到依赖。

解决方法:

方法一: 修改nexus的依赖库更新策略,添加 <updatePolicy>always</updatePolicy>

复制代码
<profile>
    <id>zang-nexus</id>
    <repositories>
        <repository>
            <id>zang-nexus</id>
            <url>http://10.253.40.2XX:6XXX/nexus/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>zang-nexus</id>
            <url>http://10.253.40.2XX:6XXX/nexus/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
</profile>
复制代码

方法二:删除未下载成功的文件,重新编译【未测】

maven默认会使用本地缓存的库来编译工程,对于上次下载失败的库,maven会在Repository/<group>/<artifact>/<version>/目录下创建xxx.lastUpdated文件,一旦这个文件存在,那么在直到下一次nexus更新之前都不会更新这个依赖库,所以可以根据报错信息,删除Repository/<group>/<artifact>/<version>/目录下的*.lastUpdated文件,然后再次运行mvn compile编译工程。

方法三:清除IDEA的缓存,删掉本地仓库jar重新编译【有时管用】

posted @ 2021-06-29 10:20  SweetBaby。  阅读(618)  评论(0编辑  收藏  举报