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,不能互相兼容。
转载自:https://blog.csdn.net/shbweixiao/article/details/78392382
转载请注明:java.lang.UnsatisfiedLinkError: no jacob-1.18-x64 in java.library.path错误的原因及解决办法 | 雨晨博客