按照教程在IDEA下搭建MAVEN环境失败,然后出现一下提示
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< org.example:Spring_MyBatis >---------------------
[INFO] Building Spring_MyBatis 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
Downloading from nexus-aliyun: http://maven.aliyun.com/nexus/content/repositories/central/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.801 s
[INFO] Finished at: 2020-01-27T10:57:01+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.6: Could not transfer artifact org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from/to nexus-aliyun (http://maven.aliyun.com/nexus/content/repositories/central): Transfer failed for http://maven.aliyun.com/nexus/content/repositories/central/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
根据网上的说法与自己的摸索,大致总结出一下几点原因与解决方案:
-
创建项目时,仓库地址与配置文件地址不一致,也就是说配置文件settings.xml与仓库最好在同一个目录下。注意在C盘.m2文件夹下可能也有仓库,这里也需要放置一个下相同的配置文件,尽管项目配置的仓库和IDEA里自己设置的仓库不一定在这里,但是很建议放一个配置文件
-
首先要明确MAVEN插件在可以自己安装,然后配置环境,这是最常见的。但同时,MAVEN插件在IDEA本地自带的plugin库也有。在不明确自己使用的到底是那个插件时,最好全部同步配置文件,也就是在相应的目录下放置相同的settings.xml.
其中,IDEA的配置文件应放在在 你的IDEA安装路径\plugins\maven\lib\maven3\conf下,自己装的MAVEN的配置文件在 你的MAVEN安装路径\conf下 -
settings.xml中没有配置!! 这个相当的坑,settings.xml文件有几KB大,很多人会误以为配置文件都是配置好的,其实打开一看,里面大段大段的注释,都是在教你如何配置这个文件,告诉你们每个标签有那些内容以及需要配置啥。然而网上的教程都是在教你配置本地仓库与中央仓库,也就是mirrors和localrepository标签其实还有server以及pluginGroups标签可以配置一下,一个是配置插件仓库所在的地址,一个是使用特殊服务所需要配置的身份验证的相关信息。里面还有其它的一些配置,具体可以看看settings.xml.
也就是说所谓配置文件,如果不去配置,其实完全不起作用,因为里面的关键配置都没配好,中央仓库建议阿里云的仓库,当然国内的都可以 -
如果开了网络代理,记得在配置文件中配置下proxies标签
-
构建MAVEN时插件或者仓库下载失败,可以考虑清空以前下载过的仓库及插件,然后重启
-
maven目录下的mvn中配置的jdk可能不对,或者没配。
打开你的maven目录下bin文件夹mvn文件,然后找到一下位置
(个人感觉影响不大,只要不是JDK配置错误就行)
# For MinGW, ensure paths are in Unix format before anything is touched
if $mingw ; then
[ -n "$MAVEN_HOME" ] &&
MAVEN_HOME=`(cd "$MAVEN_HOME"; pwd)`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`(cd "$JAVA_HOME"; pwd)`
# TODO classpath?
fi
if [ -z "$JAVA_HOME" ] ; then
JAVACMD=`which java`
else
JAVACMD="$JAVA_HOME/bin/java"
fi
然后在中间空着的fi后面添加一下代码(个人感觉不配也可以,配了的话,JDK一旦改动会比较麻烦)
JAVA_HOME = '你自己的jdk目录'
-
修改配置文件记得在.m2、idea下maven、自己配置的maven下同步,记得重启idea,重启电脑也行。事实上,.m2目录下的配置文件具有最高的优先级,但是一般
该目录下并没有该配置文件,所以一般会优先使用自己配置的maven的配置文件,但是由于新建项目时会默认使用.m2的配置文件,所以在.m2目录下同步放置配置文件,还是比较省事的。 -
试图访问下载的插件不在中央仓库里,或者在第三方仓库里,但是没有配置到相应的pluginGroups里,所以检验下配置的各种信息是否正确以及仓库里是否存在该插件
暂时总结出这些原因,希望能为大家提供解决问题的思路,这些方案不一定有用,但这么做可能能减少出问题的概率
最后提供一个解决方法,那就是使用Gradle整合开发,有一说一,在我这使用Gradle比Maven更让人省心,大家可以试试,不必一条路走到黑.