關於使用jacob出現的異常


1) 把jacob.jar加載到工程里;
2) 把jacob.dll放入 JAVA_HOME\bin\ 和 JAVA_HOME\jre\bin目錄下;
3)  把jacob.dll放入 C:\WINDOWS\system32\下;

常見錯誤解釋:

1、找不到jacob.dll,配置路徑問題(確認jacob.dll配置正確)

Exception in thread "……" java.lang.UnsatisfiedLinkError: no jacob in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682) at java.lang.Runtime.loadLibrary0(Runtime.java:822) at java.lang.System.loadLibrary(System.java:992) at com.jacob.com.Dispatch.<clinit>(Dispatch.java:36) …… at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

 

2、找不到資源文件,資源文件路徑問題(查看程序中資源文件路徑的設置,並檢查資源文件的存放路徑)

Exception in thread "……" com.jacob.com.ComFailException: Invoke of: Open Source: Microsoft Word Description: RCHITECTURE=x86 at com.jacob.com.Dispatch.invokev(Native Method) at com.jacob.com.Dispatch.invokev(Dispatch.java:890) at com.jacob.com.Dispatch.callN(Dispatch.java:526) at com.jacob.com.Dispatch.call(Dispatch.java:606) at WordControl.openDocument(Test06_08_01.java:3027) …… at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

 

3、jacob.dll或jacob.jar對應版本錯誤

com.jacob.com.ComFailException: A COM exception has been encountered: At Invoke of: Documents Description: An unknown COM error has occured. at com.jacob.com.Dispatch.invokev(Native Method) at com.jacob.activeX.ActiveXComponent.getProperty(ActiveXComponent.java) at com.perlong.poa.common.dao.sqlserver.WordToHtml.change(WordToHtml.java:73) at com.perlong.poa.common.dao.sqlserver.WordToHtml.main(WordToHtml.java:121) com.jacob.com.ComFailException: A COM exception has been encountered: At Invoke of: Quit Description: An unknown COM error has occured. at com.jacob.com.Dispatch.invokev(Native Method) at com.jacob.activeX.ActiveXComponent.invoke(ActiveXComponent.java) at com.perlong.poa.common.dao.sqlserver.WordToHtml.change(WordToHtml.java:92) at com.perlong.poa.common.dao.sqlserver.WordToHtml.main(WordToHtml.java:121) Exception in thread "main"

----最后

jacob 就是 JAVA-COM Bridge的縮寫,它是在java與微軟的com組件之間的橋梁,通過使用jacob自帶的dll動態鏈接庫通過JNI的方式實現了在sun java平台上的程序對com調用。jacob的作者照搬了微軟java開發包中調用com組件的模式,並將它在sun java平台上實現,可謂是用心良苦啊。

 

來源:http://blog.sina.com.cn/s/blog_613963d10100odq2.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM