获取 UnsatisfiedLinkError - 请协助
Getting UnsatisfiedLinkError - please assist
我有一个第 3 方 class 文件,我将其打包在一个 jar 文件中,将 jar 路径添加到我的项目 classpath 并尝试使用。
class包括以下内容:
static
{
_isloaded = false;
try
{
Runtime.getRuntime().loadLibrary("some-dll-name (no extension!)");
_isloaded = true;
}
catch (Exception localException) {}catch (Error localError) {}
}
当我尝试在我的代码中使用此 class 时,出现 UnsatisfiedLinkError 异常:
java.lang.UnsatisfiedLinkError: lrapi1.vtc.connect(Ljava/lang/String;II)Z
at lrapi1.vtc.connect(Native Method)
at Actions.init(Actions.java:64)
根据目前的了解,很可能是JVM找不到dll。
所以我把它放在 c:\windows\system32 和我的项目源文件夹中。
但是还是抛出异常
尝试将 "some-dll-name (no extension!)"
替换为带有扩展名的 dll
文件的完整路径,例如:Runtime.getRuntime().loadLibrary("C:/Windows/System32/crypt32.dll");
如此处所述:http://www.tutorialspoint.com/java/lang/runtime_loadlibrary.htm
这是一个 DLL 定位问题。
我有一个第 3 方 class 文件,我将其打包在一个 jar 文件中,将 jar 路径添加到我的项目 classpath 并尝试使用。
class包括以下内容:
static
{
_isloaded = false;
try
{
Runtime.getRuntime().loadLibrary("some-dll-name (no extension!)");
_isloaded = true;
}
catch (Exception localException) {}catch (Error localError) {}
}
当我尝试在我的代码中使用此 class 时,出现 UnsatisfiedLinkError 异常:
java.lang.UnsatisfiedLinkError: lrapi1.vtc.connect(Ljava/lang/String;II)Z at lrapi1.vtc.connect(Native Method) at Actions.init(Actions.java:64)
根据目前的了解,很可能是JVM找不到dll。 所以我把它放在 c:\windows\system32 和我的项目源文件夹中。
但是还是抛出异常
尝试将 "some-dll-name (no extension!)"
替换为带有扩展名的 dll
文件的完整路径,例如:Runtime.getRuntime().loadLibrary("C:/Windows/System32/crypt32.dll");
如此处所述:http://www.tutorialspoint.com/java/lang/runtime_loadlibrary.htm
这是一个 DLL 定位问题。