Maven编译报错解决:Failed to execute goal...Could not resolve dependencies...The following artifacts...

报错说明

Maven编译时若遇到报错:

Failed to execute goal on project xxx: Could not resolve dependencies for project xxxxx:xx:jar: xx: The following artifacts could not be resolved:…

比如我在编译Atlas时遇到的报错是:
Failed to execute goal on project atlas-testtools: Could not resolve dependencies for project org.apache.atlas:atlas-testtools:jar:2.3.0: The following artifacts could not be resolved: org.restlet.jee:org.restlet:jar:2.4.3, org.restlet.jee:org.restlet.ext.servlet:jar:2.4.3: Failure to fi nd org.restlet.jee:org.restlet:jar:2.4.3 in http://maven.aliyun.com/nexus/content/repositories/central/ was cached in the local repository, resoluti on will not be reattempted until the update interval of alimaven has elapsed or updates are forced

可以用以下方法解决 --


手动下载jar包

以上面Atlas报错为例,找到’The following artifacts could not be resolved:‘,发现一共缺两个jar包:

这是第一个:

GroupID: org.restlet.jee
ArtifactID: org.restlet
版本: 2.4.3
打包格式:jar
jar包名称: org.restlet-2.4.3.jar

这是第二个:

GroupID: org.restlet.jee
ArtifactID: org.restlet.ext.servlet
版本: 2.4.3
打包格式:jar
jar包名称: org.restlet.ext.servlet-2.4.3.jar

之后就是手动下载,可以在下面这个链接找:

https://maven.ceon.pl/artifactory/repo/

上面jar包的链接:

https://maven.ceon.pl/artifactory/repo/org/restlet/jee/org.restlet/2.4.3/org.restlet-2.4.3.jar

https://maven.ceon.pl/artifactory/repo/org/restlet/jee/org.restlet.ext.servlet/2.4.3/org.restlet.ext.servlet-2.4.3.jar

手动安装依赖到maven本地仓库

Windows环境:
在jar包所在的目录,打开cmd,执行(确保maven已安装到该环境,而且配好了全局环境变量,如果最终还会上传到linux中,那也要跟linux中的maven版本尽量保持一致):

mvn install:install-file -DgroupId=jar包对应的GroupID -DartifactId=jar包对应的ArtifactID -Dversion=jar包版本 -Dpackaging=jar -Dfile=./jar包名称

Linux环境:
在jar包所在目录,执行与上面相同的代码,依然要确保maven已安装且配置好了环境变量。


Maven重新编译

这样这个问题就解决了,可以执行mvn clean install(从头下载依赖),或者根据编译失败后maven给出的继续编译的提示,比如mvn clean install -rf:某个模块,继续下载相关依赖就行。

再说明一下‘mvn clean install’这个命令的参数:

清理 (clean): 删除先前编译生成的目标文件(如target目录下的内容),
			 确保从一个干净的状态开始编译。

安装 (install): 将打包好的工件安装到本地Maven仓库,供其他本地项目依赖使用。
			   这个只是下载依赖,要获得目标编译文件还需要package。

打包 (package): 根据项目的pom.xml配置,将编译好的代码和其他资源打包成特定格式的工件,
			   如JAR文件、WAR文件、EAR文件等。

对于Atlas编译:

先执行:mvn clean -DskipTests install
后执行:mvn package -DskipTests -Pdist
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值