背景
在学习rocketMq时,编译官方提供的可视化项目:rocketmq-dashboard,频频失败,报以下错误Could not transfer artifact org.apache.rocketmq:rocketmq-namesrv:pom:4.9.3 from/to mirror (https://maven.aliyun.com/****/groups/public): /Users/****/repository/org/apache/rocketmq/rocketmq-namesrv/4.9.3/rocketmq-namesrv-4.9.3.pom.part.lock (No such file or directory)
先说结论
我遇到的是权限问题,不过还是推荐你先看看是不是下面这个文档里所出现的问题 彻底解决Could not transfer artifact org.apache.maven.plugins问题_天青色.等烟雨的博客-CSDN博客 如果上面的解决不了,那么在需要下载jar的项目下用命令的方式验证一下mvn clean compile -Dmaven.test.skip=true -e -U如果也出现了failed to create parent ,那么你也是权限的问题。简单的说就是,当前用户无法在root权限的目录下新建文件,确认一下当前用户是否拥有jar包的目录或者上级目录的权限 解决办法其实很多,我这里用最简单的,直接在命令上加上了sodu,即采用root权限
sudo mvn clean compile -Dmaven.test.skip=true -e -U
踩坑过程
第一时间,以为是阿里云仓库没有这个版本的jar包,于是当时一度在折腾maven源的配置,想着优先从阿里云下载,然后从中央仓库repo1或者repo2下载,结果从repo2也是这个错误 后来在aliyun的官网上发现存在这个版本的jar包,这下就肯定了一定是配置的问题 然后看到了很多和下面这个文档一样的解决思路 彻底解决Could not transfer artifact org.apache.maven.plugins问题_天青色.等烟雨的博客-CSDN博客 大致以下几类:- Idea maven版本检查一致
- 因为ssl证书问题
-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true -DarchetypeCatalog=internal
- 因为本地存在lastUpdated之类的文件
搭嘎,口头哇路。 因为以上的几种方案对我毫无作用 所以,我尝试获取更多的信息,之前都是在idea集成的maven侧边栏点刷新,现在我决定用命令试一试
mvn clean compile -Dmaven.test.skip=true -e -U看到上面黄色框内的内容,我突然意识到有可能是权限的问题,我确认了一下路径 虽然我的maven目录是在User下,但是里面的jar包路径有很多都是root创建的(我也不知道怎么来的),但问题定位到了就好说了,搞半天不是maven的问题,而是权限的问题。 既然知道了是权限导致的,那么无论是将文件夹赋予当前用户权限,还是直接使用sudo都可以,我这边就直接使用sudo处理了。 标签:jar,maven,Dmaven,权限,true,远程,rocketmq From: https://www.cnblogs.com/qisi/p/maven_download_error.html