针对“maven报错:Failed to execute goal on project问题及解决”的问题,我将提供以下攻略:
问题描述
在使用maven构建工程的过程中,可能会遇到如下报错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar (default-jar) on project test:
Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:3.2.0:jar failed:
Plugin org.apache.maven.plugins:maven-jar-plugin:3.2.0 or one of its dependencies could not be resolved:
Failed to collect dependencies at ...
这种报错很常见,可能还会有其他的具体描述,但大部分情况下是由于依赖包无法被正确解析和引用而导致的。
解决方案
解决方案分为以下几步骤:
步骤一:清理maven本地仓库缓存
有时候maven本地仓库缓存出现问题也会导致类似的报错,因此我们需要先清理一下缓存。打开终端或命令行,进入到maven的本地仓库目录(通常是用户目录下的.m2/repository文件夹),然后执行下面的命令:
mvn dependency:purge-local-repository
这条命令可以清理maven本地仓库中所有已经安装的文件。如果只想清理某一个特定的依赖,可以使用下面的命令:
mvn dependency:purge-local-repository -DincludeArtifactIds=<artifactId>
其中,
步骤二:更新maven中央仓库镜像
有时候maven中央仓库的镜像地址会变更或失效,这也会导致类似的报错。我们需要更新maven的中央仓库镜像,可以在项目的pom.xml文件中添加如下配置:
<repositories>
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
</repositories>
这个配置会将maven的中央仓库地址改为官方提供的地址。
步骤三:更新maven依赖版本号
有时候maven本身也会存在依赖冲突或升级问题,我们需要将依赖的版本号进行更新。可以在项目的pom.xml文件中手动修改依赖的版本号,或者使用如下命令自动更新:
mvn versions:use-latest-releases
示例说明
示例一:删除本地缓存的依赖包
假设我们在构建项目的过程中遇到了如下报错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project sample-project:
Fatal error compiling: tools.jar not found: /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/../lib/tools.jar
这个报错通常是由于缺少了tools.jar的依赖,我们可以执行下面的命令将其从本地缓存中删除:
mvn dependency:purge-local-repository -DincludeArtifactIds=tools
示例二:更新maven依赖版本号
假设我们在构建项目的过程中遇到了如下报错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project sample-project:
There are test failures.
这个报错表示测试用例执行失败,有时候是因为maven依赖的版本过低,我们可以使用下面的命令进行自动更新:
mvn versions:use-latest-releases
这个命令会将所有的依赖更新到最新的版本。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:maven报错:Failed to execute goal on project问题及解决 - Python技术站