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
更多推荐
所有评论(0)