1. 程式人生 > >maven mvn 3.0 以上 執行 mvn install的時候 java.lang.NoClassDefFoundError 錯誤的解決辦法。

maven mvn 3.0 以上 執行 mvn install的時候 java.lang.NoClassDefFoundError 錯誤的解決辦法。

首先,我覺得這是maven 3.0.5和3.1.0的一個bug。我的平臺是 windows7 64位,jdk 1.6+

下載solr的原始碼後,執行mvn install 一直報,java.lang.NoClassDefFoundError,開始一直以為是eclipse的問題,換了n個,都是這樣,用命令列編譯也是這樣。太折磨人了。

最後發現,報錯這個類是 org/codehaus/plexus/interpolation/ValueSource  ,在repository中也可以找到這個類,但是為什麼載入不到呢。詳細檢視其報錯資訊,發現,這是

maven-resources-plugin:2.5:resources這個外掛報的錯誤。然後開啟這個外掛的pom(在repository中可以找到),發現其依賴關係是plexus-interpolation-1.13.jar,而這個jar包裡面確實沒有這個類。問題的原因找到了。把依賴關係改成 1.19後果然不再出現這個錯誤了。但這個不是解決的根本辦法,這個應該是maven-resources-plugin:2.5:resources這個外掛的bug,所以降級這個外掛也可以解決。

用一下方式也可以解決,升級 maven-resources-plugin版本 到2.6

<plugin>
<groupId> org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>

</plugin>