study06:关于maven仓库的问题 was cached in the local repository,

Posted Ahnappi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了study06:关于maven仓库的问题 was cached in the local repository,相关的知识,希望对你有一定的参考价值。

关于新增依赖到私有仓库的问题

新增外部依赖到私有仓库,由于之前不太熟悉,以为和平常一样,直接在pom文件配置<repositories> 就可以,初次上传出错,后来被告知需要将依赖放到私有仓库才可以,遂将依赖放入私有仓库,但是在重新运行代码时依旧报错,如下

[ERROR] Failed to execute goal on project ime-common: Could not resolve dependencies for project com.ime:ime-common:jar:0.0.1-SNAPSHOT: The following artifacts could not be resolved: com.youzan.cloud:open-sdk-core:jar:1.0.7-RELEASE, com.youzan.cloud:open-sdk-gen:jar:1.0.22.80056202107020904-RELEASE: Failure to find com.youzan.cloud:open-sdk-core:jar:1.0.7-RELEASE in https://nexus.cnjiang.com/repository/maven-public/ was cached in the local repository, resolution will not be reattempted until the update interval of cnjiang-nexus has elapsed or updates are forced -> [Help 1]

后来发现,Maven默认会使用本地缓存的库来编译工程,对于上次下载失败的库,maven会在~/.m2/repository/<group>/<artifact>/<version>/目录下创建xxx.lastUpdated文件,一旦这个文件存在,那么在直到下一次nexus更新之前都不会更新这个依赖库。

解决方法

1.删除v~/.m2/repository/<group>/<artifact>/<version>/目录下的*.lastUpdated文件,然后再次运行mvn compile编译工程。,但是没有权限。

2.修改~/.m2/settings.xml 或/opt/maven/conf/settings.xml文件,将其中的仓库添加 <updatePolicy>always</updatePolicy>来强制每次都更新依赖库

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

用到了第二种方法,解决了问题

以上是关于study06:关于maven仓库的问题 was cached in the local repository,的主要内容,如果未能解决你的问题,请参考以下文章

关于maven中配置远程仓库的问题

Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ⑤ ( 使用 Sonatype Nexus 搭建 Maven 仓库 )

关于使用eclipse maven UpdateProject时报错,无法更新本地仓库的问题解决方案

Maven02_06_maven的仓库以及配置文件修改本都仓库路径整合springmvc

关于导入jar包到本地maven仓库

Gradle修改Maven仓库地址