今天在一个新建的web项目中发生了以下错误:
Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin
Eclipse的错误提示如下:
Could not calculate build plan: 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 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
一开始以为是版本问题,因为看到eclipse内嵌有maven,而我自己系统也装了maven,所以改了ecplise里的maven home设置,错误依旧;
在baidu中搜了一下(老样子,除了你不想找的,很难找到你想找的技术资料,纯属发牢骚~哈哈);
baidu找到的资料:
1,可能是网络被墙,设置镜像;
2,可以试试重新下载maven-resources-plugin;
经过尝试1,没解决问题(甚至不小心增加了问题,这个怪我自己不够细心啦,可能复制的镜像配置里有非法字符),2,我下了旧一点的版本了,问题依旧;
问题解决的场景有点意向不到(其实很多问题最初解决场景都是意向不到的,hoho~),我直接在命令行打mvn compile,提示了与eclipse不一样的错误:
[ERROR] Error executing Maven. [ERROR] 1 problem was encountered while building the effective settings [FATAL] Non-parseable settings /usr/share/maven/conf/settings.xml: in comment after two dashes (--) next character must be > not (position: START_TAG seen ...\n <!-- ... @164:17) @ /usr/share/maven/conf/settings.xml, line 164, column 17
上面的错误,是因为我增加了maven的镜像,当时就是直接复制于网络的配置项(但其实是注释掉的了)
删掉之后,再次compile,命令行中就没有问题了,回到eclipse中,刷新项目,继续报同样的错误!!!!!
到这里可以确定是eclipse部分的问题了,重新查看了eclipse的maven配置,发现没有指定全局配置(前面配置的镜像啥的都在全局配置文件里),立刻指定配置Preferences-->Maven-->User Settings-->Global Settings,指定到我的配置文件:/usr/share/maven/conf/settings.xml, 保存配置,刷新项目,提示下载maven的东东了,到此问题真正解决了~~~
后面贴网上找到的oschina的maven镜像配置(我自己没用,试了一下,速度:零点几K/S):
<!----这是全局镜像,记得放到mirrors位置--> <mirror> <id>nexus-osc</id> <mirrorOf>*</mirrorOf> <name>Nexus osc</name> <url>http://maven.oschina.net/content/groups/public/</url> </mirror>
<!--这是插件的,记得放到插件配置位置---> <profile> <id>jdk-1.4</id> <activation> <jdk>1.4</jdk> </activation> <repositories> <repository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.oschina.net/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <name>local private nexus</name> <url>http://maven.oschina.net/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile>