首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

Eclipse报错:Referenced classpath provider does not exist: org.maven.ide.eclipse…

2013-03-21 
Eclipse报错:Referenced classpath provider does not exist: org.maven.ide.eclipse……前段时间更新了Ecli

Eclipse报错:Referenced classpath provider does not exist: org.maven.ide.eclipse……

前段时间更新了Eclipse的maven插件,原来安装的是m2eclipse插件,后来更新成了m2e插件。结果在运行以前的maven工程时报错:

Referenced?classpath?provider?does?not?exist:?org.maven.ide.eclipse.launchconfig.classpathProvider

?截图如下:

Eclipse报错:Referenced classpath provider does not exist: org.maven.ide.eclipse…

引起这个错误的原因主要是新的m2e插件的namespace已经修改了,而之前的工程的启动配置依然指向旧插件的名称。我们可以在Eclipse workspace下查看类的.launch文件,具体路径为:

\workspace\.metadata\.plugins\org.eclipse.debug.core\.launches

?找到对应的类的.launch文件,使用文本编辑器打开后里面的内容应该类似如下:

<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"value="org.maven.ide.eclipse.launchconfig.classpathProvider"/><stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/>

?实际上正确的配置应该是:

<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"value="org.eclipse.m2e.launchconfig.classpathProvider"/><stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>

?所以就能印证我们之前的猜测,maven插件的namespace从?org.maven.ide.eclipse 修改成了org.eclipse.m2e 从而导致了这个问题的产生。

?

?

对于这个问题,最简单的解决方案就是在IDE(Eclipse)里右键选中工程,然后选择Configure?->?Convert to Maven Project? ,这样操作完以后,修复了损坏的launch configuration,启动就正常了。

?

参考资料:http://www.subshell.com/en/subshell/blog/article-Changing-from-m2eclipse-to-m2e-Eclipse-Indigo100.html

热点排行