2017-06-19 88 views
2

我一直在使用Business Objects的RESTful API創建一個簡單的Java桌面應用程序,並且遇到了問題。每當我在Eclipse中運行我的應用程序時工作正常;每當我將它作爲'Runnable Jar'導出並選擇庫處理選項'將所需的庫打包到生成的JAR中'時,它都可以正常工作。但是,每當我嘗試使用庫處理選項「提取所需的庫到生成JAR」我收到以下錯誤運行該應用程序後,將其導出:導出Java應用程序時Business Objects的'bcm.jar'錯誤

java.lang.NoClassDefFoundError: Could not initialize class com.businessobjects.bcm.BCM 

我已經下添加了「bcm.jar」文件'res'源文件夾並將其添加到構建路徑中。有一次,我在「SAP BusinessObjects」java文件夾和外部文件夾下添加了所有JAR,但仍然會拋出錯誤。問題源於這一行代碼:

enterpriseSession = CrystalEnterprise.getSessionMgr().logon(userID, password, CMS, auth); 

有人會知道爲什麼我會說錯誤嗎?我真的很想使用Extract選項,因爲它會提高性能,因爲我的應用程序變得更大。任何幫助解決這個問題將不勝感激:)

編輯:我會很樂意提供澄清或進一步的細節根據要求!

+0

從https://stackoverflow.com/questions/9617420/difference-between-extracting-and-packaging-libraries-into-a-jar-file,Main類在兩種情況下是不同的。 – mikep

+0

嘿mikep,謝謝你評論:)我已經看過過去的確切文章,這部分原因是爲什麼我想使用Extract方法而不是Packaging。雖然我理解打包和解壓之間的區別,但我不明白爲什麼這個bcm.jar在幾十個其他SAP jar沒有的時候有問題。我唯一一次麻煩包裝我的應用程序的時候是我使用這個罐子;我正在嘗試查看是否有某種方法可以在使用此jar的同時打包我的應用程序。 –

+0

bcm.jar中的META-INF怎麼看lijke(jar tvf)? – mikep

回答

1

您是否包含cryptojFIPS.jar?離開它可能會導致錯誤。

+0

你好fossoss。是的,我在我的'res'文件夾下包含了cryptojFIPS.jar文件,它是構建路徑的一部分。 –

+0

我只是猜測,但你有沒有檢查bam.jar或cryptojFIPS.jar是否包含統一jar中沒有包含的其他資源(如xml配置文件)? – fhossfel

+0

從我看到的bcm.jar和cryptojFIPS.jar文件只有他們下面的類,沒有XML文件或任何東西。 –