1. 程式人生 > >Eclipse報錯:Referenced classpath provider does not exist: org.maven.ide.eclipse……

Eclipse報錯:Referenced classpath provider does not exist: org.maven.ide.eclipse……

Shell程式碼  收藏程式碼
  1. Referenced classpath provider does not exist: org.maven.ide.eclipse.launchconfig.classpathProvider  

 截圖如下:

引起這個錯誤的原因主要是新的m2e外掛的namespace已經修改了,而之前的工程的啟動配置依然指向舊外掛的名稱。我們可以在Eclipse workspace下檢視類的.launch檔案,具體路徑為:

Shell程式碼  收藏程式碼
  1. \workspace\.metadata\.plugins\org.eclipse.debug.core\.launches  

 找到對應的類的.launch檔案,使用文字編輯器開啟后里面的內容應該類似如下:

Shell程式碼  收藏程式碼
  1. <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"  
  2. value="org.maven.ide.eclipse.launchconfig.classpathProvider"/>  
  3. <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"  
  4. value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/>  

 實際上正確的配置應該是:

Shell程式碼  收藏程式碼
  1. <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"  
  2. value="org.eclipse.m2e.launchconfig.classpathProvider"/>  
  3. <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER"  
  4. value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>  

 所以就能印證我們之前的猜測,maven外掛的namespace從 org.maven.ide.eclipse 修改成了org.eclipse.m2e 從而導致了這個問題的產生。

對於這個問題,最簡單的解決方案就是在IDE(Eclipse)裡右鍵選中工程,然後選擇Configure -> Convert to Maven Project  ,這樣操作完以後,修復了損壞的launch configuration,啟動就正常了。