0

以下是我的项目边界

视窗 7 64 位

jre 1.6 64位

雅各布 dll (jacob-1.17-M2-x64.dll)

问题是

jacob-1.17-M2-x64.dll 在 jre 1.7 中支持,但在 jre 1.6 中不支持

抛出异常

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.17-M2-x64 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at com.jacob.com.LibraryLoader.loadJacobLibrary(LibraryLoader.java:184)
    at com.jacob.com.JacobObject.<clinit>(JacobObject.java:107)
    at com.osg.sqe.env.framework.control.web.Outlook.main(Outlook.java:14)

请不要将其视为重复问题,因为我的问题不是“java.library.path”问题,因为我能够使用 jre1.7 运行应用程序而没有任何问题。

4

2 回答 2

0

这不是真的。我刚刚jacob-1.17-M2-x64使用以下命令运行:

%java% -Djava.library.path=%jacobPath% -cp %cp% %class%

如果我输入了错误的 jacob 路径,则会收到一条消息:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.17-M2-x64 in java.library.path

java -version

java version "1.6.0_30"
Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode)

这是我的整个脚本:

@echo off
set jacobPath=C:\lang\java\jacob-1.17-M2
set cp=.;%jacobPath%\jacob.jar
set class=JacobFso
rem following line was to test 32-bit version
rem set java="C:\Program Files (x86)\Java\jre6\bin\java.exe"
set java=java.exe
set jdk=C:\Program Files\Java\jdk1.6.0_30\bin
"%jdk%\javac.exe" -cp %cp% %class%.java
if errorlevel 1 goto leave
rem my real, longer line, which I usually use
rem %java% -Djava.library.path=%jacobPath% -cp %cp% -Xms5m -Xss5m -Xmx5m -Dcom.jacob.debug=false -Dcom.jacob.autogc=false %class%
%java% -Djava.library.path=%jacobPath% -cp %cp% %class%
:leave
于 2012-10-24T06:30:33.683 回答
0

在 Eclipse 中将该 dll 作为本机库导入。那么它肯定会起作用

于 2014-09-12T17:13:19.327 回答