maven--强制使用远程仓库的新依赖

原文网址:maven--强制使用远程仓库的新依赖_IT利刃出鞘的博客-CSDN博客

简介

        本文介绍如何更新依赖(使用远程仓库的依赖)。

问题描述

        项目A依赖项目B,此时项目A可以正常构建。别人修改项目B,并将B项目Deploy到私服,我在本地用IDEA构建项目A,构建失败。

原因分析

        编译项目A时,先在本地maven仓库中寻找项目B,如果找到就用本地maven仓库的依赖,如果本地maven仓库没有找到,才会去远程仓库拉取。所以构建A时,老的jar没有新版本中新增的内容,导致编译出错。

解决方案

有效的方案

方案1:删除本地项目B的依赖

方法

用IDEA找到依赖在maven仓库中的位置,然后手动删除那个文件夹。

详解

在IDEA里操作:File=> Project Structure=> Project Settings=> Libraries

方案2:将updatePolicy改为always

更改settings.xml,将updatePolicy改为always。

<profile>
    <id>nexus</id>
    <repositories>
        <repository>
            <id>central</id>
            <url>http://central</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>
    </repositories>
</profile>

方案3:升级版本号

方法

将项目B的版本号升级,项目A也修改为新版本号。

详解

新的版本号会在远程仓库生成新的文件,本地仓库会重新下载。

无效的方案

以下方法我都试过,没用!

方案1:命令行更新依赖

mvn clean install -U
  • -U,–update-snapshots
    • Forces a check for missing releases and updated snapshots on remote repositories

方案2:命令行删除本地依赖

mvn dependency:purge-local-repository -DmanualInclude=groupId:artifactId

其他网址

Jenkins中Maven本地仓库更新不及时,清除旧的Jar包和依赖缓存,解决构建项目报错问题。_小老犇的博客-CSDN博客_jenkins maven缓存

猜你喜欢

转载自blog.csdn.net/feiying0canglang/article/details/126627809
今日推荐