解决Maven打包报错Could not transfer artifact xxx.xxx找不到依赖的问题
概述
当我用idea导入一个新的maven项目,配置好maven仓库,然后进行更新项目时。发现有三个jar包从中央仓库(http://maven.aliyun.com/nexus/content/groups/public)没有下载下来。于是就从同事电脑上把jar包拷贝到我本地仓库,更新了一下没有报错,项目也能正常运行。但是当进行install或者package的时候又报错之前的错误,于是开始在网上找帖子,整了一个多小时终于好了。
方案一
将本地仓库对应目录下的_remote.repositories文件和astUpdated文件删除,然后重新maven clean install。(这种从网上找的方案没有解决我的问题)
方案二
清理下idea的缓存然后重启下idea,最后在更新下项目。我看网上有人用这种方案可以,但是对我的问题也不适用,emmm
方案三(作者使用的这种方案)
使用maven命令将jar包安装到本地仓库,运行CMD使用mvn命令,具体如下:
mvn install:install-file
-Dfile=D:\jar\httpclient-3.1.jar
-Dmaven.repo.local=D:\easynpn-maven
-DgroupId=org.apache.commons
-DartifactId=httpclient
-Dversion=3.1
-Dpackaging=jar
参数详解
-Dmaven.repo.local:指定仓库目录根位置,如果本机上包含多个仓库将非常有用。
-DgroupId:指定Jar包的开发团队,一般为公司域名倒写去掉www开头。例如百度就是com.baidu等
-DartifactId:开发的项目名称。
-Dversion:文件版本。
-Dpackaging:文件格式,jar或则war等。
-Dfile:文件位置。
命令事例
mvn install:install-file -Dfile=D:\jar\httpclient-3.1.jar -Dmaven.repo.local=D:\easynpn-maven -DgroupId=org.apache.commons -DartifactId=httpclient -Dversion=3.1 -Dpackaging=jar