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

你可能感兴趣的:(eclipse,maven,Provider,classpath)