当前位置: 代码迷 >> Eclipse >> Eclipse报错:Referenced classpath provider does not exist: org.maven.ide.eclipse…
  详细解决方案

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

热度:1183   发布时间:2016-04-23 01:30:25.0
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

?截图如下:

引起这个错误的原因主要是新的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

  相关解决方案