【发布时间】:2011-12-30 15:05:31
【问题描述】:
我需要创建一个加载本地 DLL 的 Java 小程序。它工作正常,但只是第一次。如果我刷新页面,它总是通过抛出以下异常来抱怨:
Exception: java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Native Library E:\test.dll already loaded in another classloader
关于如何解决此问题的任何想法?
这是我的代码:
public class NativeWrapper
{
public native String GetIP();
public NativeWrapper(final String nativeLib) {
try {
System.load(nativeLib);
} catch (UnsatisfiedLinkError e) {
System.out.println("UnsatisfiedLinkError exception" + e);
}
}
}
还有小程序代码:
public class MyApplet extends Applet {
private static NativeWrapper dll = new NativeWrapper("e:/test.dll");
public MyApplet () {
}
// to be called by javascript on html page
public string GetIPAddress() {
return dll.GetIP();
}
}
我已经阅读了很多关于这个问题的信息,但仍然找不到解决方案。任何人都可以帮忙吗?提前致谢。
【问题讨论】:
标签: java applet java-native-interface classloader