1. 程式人生 > >java.lang.UnsatisfiedLinkError: no jacob-1.18-x64 in java.library.path錯誤的原因及解決辦法

java.lang.UnsatisfiedLinkError: no jacob-1.18-x64 in java.library.path錯誤的原因及解決辦法

ComThread.InitSTA() 不能執行的原因

出現異常:java.lang.UnsatisfiedLinkError: no jacob-1.18-x64 in java.library.path並且儲存提示在ComThread.InitSTA()這個位置 將當前java執行緒初始化為STA
在之前看都網上有很多前輩已經寫出了這個的解決方法,不過註明說是win7系統的,而我的是win10系統,沒辦法也嘗試了前輩的解決方法(紅色字型部分),發現也是可以的;在這兒我一寫一點為像我一樣的小白提供一些幫助 使用前操作
    1、把dll檔案放在%JAVA_HOME%\bin下(注意系統是32位還是64位),也可以放在C:\Windows\System32下,如果是64位應該放在C:\Windows\SysWOW64 下。建議放在jdk的bin目錄下

    2、如果是在eclipse下開發,需要重新引入jdk(Preference/Java/Installed JREs)

    3、開發時將jacab.jar包放在專案lib下並add到liabraries中即可。

如何這樣做了還是不能執行,那可能就是下面的原因(檔案:jacob-1.18.zip網上有很多可以下載):

解壓後獲得3個檔案

jacob.jar
jacob-1.17-x64.dll
jacob-1.17-x86.dll

jacob.jar 放到專案的lib目錄

win7

jacob-1.17-x64.dll 放到C:\Windows\System32

jacob-1.17-x86.dll 放到C:\Windows\SysWOW64

還要注意的是,32位JDK只能載入32位DLL,64位JDK只能載入64位DLL,不能互相相容。