我想加载一个jar,只需调用System.loadLibrary
并在系统内加载一个dll。 jar还包含所有本机方法实现。
由于applet有一个类加载器并且调用System.loadLibrary
两次抛出UnsatisfiedLinkError
我无法将jar加载到applet本身(如果我这样做会抛出异常并且连续的本机调用将什么都不做。)
意识到这个问题,hacky解决方案是将jar放入java类路径,因此它将被加载一次(来自JRE的ext /文件夹)。
我的问题是: 如果不将jar放在java ext文件夹中或在系统中创建另一个类路径条目,解决这个问题的正确方法是什么?
答案 0 :(得分:2)
最简单的方法是使用Java Web Start部署原生代。
native-win.jar
native-osx.jar
native-nix.jar
resources
部分中的每个Jar。自1.2以来,JWS可用于启动自由浮动帧和applet。最近,还可以使用JWS部署applet,并将其嵌入到网页中。