2014-02-07 52 views
1

我創建的java程序無法識別SAPJCO3.jar,它已經在系統類路徑中,並且包含在eclipse/project中,並帶有eclipse中的buildpath選項。SAP Jar沒有在Eclipse中被識別

錯誤信息

java.lang.ClassNotFoundException: No ClassLoaders found for: com.sap.conn.jco.AbapException 
Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/sap/conn/jco/AbapException 

如果我只是刪除我的程序AbapException,給正常的Java異常,它拋出在下JCO類的錯誤。同樣的程序在我用於測試的NETBEANS中運行良好。由於我的實際項目是在Eclipse中開發的,我需要該程序在Eclipse中運行。 任何人都可以幫助我。

回答

0

SAP JCo使用本機庫連接到SAP。此本機庫是sapjco3.dll,並且必須位於您的Java庫路徑中的文件夾中。你應該把sapjco3.dll到特定的文件夾通過訪問SAP JCO之前明確設置庫路徑:

System.setProperty("java.library.path", "C:\path\to\folder\with\dll\"); 

加成

的NetBeans之間的區別的Eclipse在這種情況下可能是默認情況下,NetBeans包括* .jar導出時的所有庫,但Eclipse沒有。在Eclipse請確保您選擇了第一個導出屏幕上的所有庫。

或者你也可以只導出你的代碼,但是當你運行它,你必須在classpath

+0

做到了這一點..不工作仍然...相同的錯誤:( – bhat

+0

好吧,我更新了我的答案,嘗試它 –

+0

我couldnot附加一個屏幕截圖,其他智慧我會顯示。 。仍然沒有識別,增加了代碼也仍然是同樣的問題.dll也存在並且位於這是代碼System.setProperty(「java.library.path」,「C:/ SAPJCo /」); SAPConnector sapconnectorobj = new SAPConnector(); – bhat

0

嘗試添加屬性到Windows「系統變量」 /「環境變量」來指定庫。

變量名:的java.library.path 變量值:C:/ SAPJCo

這將爲Eclise工作。

祝您好運!