我正在Eclipse中使用一個項目,該項目有兩個項目;一個產品和一個名爲views的插件。項目中新依賴項的NoClassDefFoundError
我加入SVNKit v1.3.5如在視圖pom.xml文件的依賴這樣:
<dependency>
<groupId>org.tmatesoft.svnkit</groupId>
<artifactId>svnkit</artifactId>
<version>1.3.5</version>
<scope>compile</scope>
</dependency>
執行Maven 2的工具後>生成的觀點插件Eclipse產品(從高速緩存),則由於它從repo1.maven.org/maven2/...etc下載SVNKit,所以構建成功。
我繼續並執行Maven 2 Tools>在視圖插件上生成OSGi Bundle Manifest和Copy Resources,並且構建成功。
然後,我運行Maven 2 Tools> Generate and Set Target Platform on the product,並設置運行配置,就像我對其他項目一樣。
該產品設置爲eclipse應用程序,並且插件驗證沒有錯誤。
我可以編寫代碼,它可以在編譯期間檢測類並且沒有問題;問題是程序在運行時需要類。
我運行的產品,它工作正常,直到我彈出窗口需要從SVNKit任何類文件的用戶界面彈出窗口。窗口根本不彈出,並在控制檯顯示:
!ENTRY org.eclipse.ui 4 0 2012-07-19 10:07:10.242
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NoClassDefFoundError: org/tmatesoft/svn/core/SVNException
...
Caused by: java.lang.ClassNotFoundException: org.tmatesoft.svn.core.SVNException
我試圖解決這個問題,但也遇到了同樣的錯誤一遍又一遍,不管什麼「修理」我試過。類路徑是正確的,因爲它指向平方米回購因爲它沒有其它的依賴:
<classpathentry kind="var" path="M2_REPO/org/tmatesoft/svnkit/svnkit/1.3.5/svnkit-1.3.5.jar" sourcepath="M2_REPO/org/tmatesoft/svnkit/svnkit/1.3.5/svnkit-1.3.5-sources.jar">
<attributes>
<attribute value="jar:file:/<details omitted>/.m2/repository/org/tmatesoft/svnkit/svnkit/1.3.5/svnkit-1.3.5-javadoc.jar!/" name="javadoc_location"/>
</attributes>
</classpathentry>
<classpathentry kind="var" path="M2_REPO/org/tmatesoft/svnkit/trilead-ssh2/build213-svnkit-1.3-patch/trilead-ssh2-build213-svnkit-1.3-patch.jar"/>
<classpathentry kind="var" path="M2_REPO/org/tmatesoft/sqljet/sqljet/1.0.4/sqljet-1.0.4.jar" sourcepath="M2_REPO/org/tmatesoft/sqljet/sqljet/1.0.4/sqljet-1.0.4-sources.jar"/>
任何建議,將不勝感激。 在此先感謝!
編輯:相比於其他比我在我引用的庫 SVNKit v1.3.5的清單文件很短:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 1.5.0_15-b04 (Sun Microsystems Inc.)
其他圖書館有更多的信息,如出口包,捆綁軟件版本,軟件包名稱,導入軟件包等等......這可能是問題嗎?如果是這樣,我已經嘗試Google爲SVNKit 1.3.5提供了一個清單包文件,但一直沒能找到任何東西。
您使用的是什麼樣的存儲庫?你有沒有嘗試一個maven clean? – 2012-07-19 15:50:23
是的,我已經嘗試了一個乾淨的以及手動刪除M2回購。 repo1.maven.org/maven2是唯一正在使用的外部回購協議,其他協議是內部的,並且沒有SVNKit。 我也嘗試下載各種版本的SVNKit作爲jar文件,並使用命令mvn install將它們添加到maven:install ...等等,但是這也沒有任何區別。 – KilloWatt 2012-07-19 16:36:05