当我尝试使用mvn eclipse:eclipse
生成Eclipse项目文件时,出现以下错误:
插件管理器执行目标中的内部错误 'org.apache.maven.plugins:maven-eclipse-plugin:2.9-SNAPSHOT:eclipse':无法加载魔法 'org.apache.maven.plugins:行家-Eclipse的插件:2.9快照:蚀' 在插件'组织中 .apache.maven.plugins:Maven的Eclipse的插件。 缺少必需的课程: 组织/ Codehaus的/丛/资源/装载器/ ResourceNotFoundException
看来我正在使用Maven Eclipse插件的2.9-SNAPSHOT版本。我的猜测是这个版本的插件有一个错误,如果我使用稳定版本(而不是快照),问题将得到解决。有没有办法可以更改我正在使用的这个插件的版本,还是这个问题与Eclipse插件的版本无关?
答案 0 :(得分:24)
使用插件的完全限定名称来指定版本:
$ mvn org.apache.maven.plugins:maven-eclipse-plugin:2.8:eclipse
或编辑~/.m2/plugin-registry.xml
文件(对于高级用户,请进行备份)。
或者尝试使用-npr,--no-plugin-registry
选项告诉maven不要将~/.m2/plugin-registry.xml
用于插件版本:
$ mvn -npr eclipse:eclipse
但我不保证成功的结果。有关详细信息,请参阅Introduction to the Plugin Registry。
或从本地存储库中删除版本2.9-SNAPSHOT
:
$ rm -rf ~/.m2/repository/org/apache/maven/plugins/maven-eclipse-plugin/2.9-SNAPSHOT
答案 1 :(得分:2)
不幸的是问题仍然存在,所选答案对我没有帮助,因为Maven总是想要获取最新版本,这是有缺陷的2.9-SNAPSHOT。
我必须在我的POM中手动指定工作版本2.8,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
<configuration>
...
答案 2 :(得分:0)
接受的答案中提到的解决方案似乎不起作用。使用没有插件注册表,它总是尝试使用最新版本,并重新下载它,你试图删除它。
我通过更新文件解决了这个问题
的.m2 /库/组织/阿帕奇/行家/插件/行家-Eclipse的插件/行家-元数据central.xml
你不应该编辑这个文件,但是如果它使用2.9-SNAP而不是2.9,则可能意味着此文件最迟指定2.9-SNAP而不是2.9