2016-06-26 43 views
1
java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlObject 

當我運行我的代碼時出現該錯誤。好吧,那很好 - 我忘了獲取XMLBeans ...但它已經退役了,我在他們的檔案中找不到最新版本。所以我發現JAXB可以作爲替代方案,我下載它並嘗試將這些jar文件添加到Intellij中的庫中,但是我仍然在尋找XMLBeans依賴關係時遇到同樣的錯誤。如何讓Apache POI和JAXB一起工作?

如何獲取Apache POI以使用JAXB代替XMLBeans?爲什麼JAXB有7個不同的jar文件,我找不到它們中的任何一個?我只想在一些excel文件上工作,而不是繼續進行一些蠻荒的追逐:(

回答

3

XMLBeans是Apache POI的依賴關係,POI不會在它的地方使用不同的庫XMLBeans包裝在Apache POI下載,我已經檢查,所以你應該有它可用給你。你只需要確保xmlbeans jar文件在運行你的應用程序時在java classpath中

我已經檢查了最新的POI二進制tar.gz文件' poi-bin-3.14.tar.gz'可從http://poi.apache.org/download.html#POI-3.14獲得,解壓壓縮的tar文件(我用7-Zip),你會在poi-3.14/ooxml-lib目錄中找到xmlbeans-2.6.0.jar。

+0

雖然,我必須回答這個問題,'H我能得到Apache POI和JAXB一起工作嗎?'。簡單的答案是,如果您確實想要這樣做,實際上您需要獲取Apache POI的完整源代碼,對其進行修改,並將所有對XMLBeans類的引用更改爲相應的JAXB類(如果有可用的類)。您還需要通過編寫自己的班級來填補空白,因爲這些班級可能沒有可用的班級來滿足您的POI版本的特定需求,以便編譯並滿足您的需求。這不是一項簡單的任務。 –

+0

我不敢相信這個該死的jar在整個時間都在那裏,呃我很笨。感謝您的快速響應,我真的很感激它。偶然,你碰巧知道爲什麼當我在Intellij中鏈接它時,Apache POI文檔不起作用? – jpdemko