Oracle呼叫Java方法(下)複雜Jar包封裝成Oracle方法以及ORA-29521錯誤
阿新 • • 發佈:2020-06-22
上一篇隨筆中已經說了簡單的Jar是如何封裝的,但是我的需求是根據TIPTOP的查詢條件產生XML檔案並上傳到FTP主機中,那麼就要涉及到XML生成的方法和FTP上傳的方法 所以在Eclipse寫的時候引用了第三方的價包:jdbc, org.dom4j , org.apache.commons

把這幾個jar包和自己的程式碼封裝成一個jar包 , 結果在執行loadjava命令的時候總是會報幾個ORA-29521: referenced name java/xxx/xxx/xxx could not be found 報的錯是dom4j和commons找不到類。

從網上找到的解決方法也是眾說紛紜,有的說這個是因為OJVM的問題,有的說是因為Jar包的問題。有的說是因為Jar包的相關依賴包缺少導致的,但是自己試了一下都沒有解決這個問題,

**最後用了一個“土方法”解決了這個問題 :因為我用的這個價包都是開源的,可以從官網上下載的到原始碼所以先從官網上下載原始碼 匯入到Eclipse看一下發現確實這些Jar包都依賴了另外的依賴Jar包但是這些方法我都用不上所以索性直接Copy需要用的原始碼到專案中把自己專案中已經引用的包名都拷貝進來,然後修修改改,再把引用的Jar刪掉。不過jdbc的包卻沒有報這個錯誤,個人猜測可能是某些Jar包的Maven檔案導致的,如果有朋友知道為什麼的話可以說下。**

最後執行匯出(Export..->Runnable JAR file->Package required libraires into generated JAR 一路NEXT) 匯出後的Jar包 執行LoadJava命令的時候就不會報這個錯了。
