Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有Java小程序版本本机库的Web浏览器_Java_Ubuntu_Browser_Applet_Unsatisfiedlinkerror - Fatal编程技术网

带有Java小程序版本本机库的Web浏览器

带有Java小程序版本本机库的Web浏览器,java,ubuntu,browser,applet,unsatisfiedlinkerror,Java,Ubuntu,Browser,Applet,Unsatisfiedlinkerror,我有一个包含多个Java3D小程序的网页,在Ubuntu上运行Firefox或Chromium。我可以启动任何一个小程序,但是当我在浏览器中“返回”并尝试启动另一个Java3D小程序时,我得到了 java.lang.UnsatisfiedLinkError:Native Library /lib/libj3dcore-ogl.so already loaded in another classloader 我可以关闭web浏览器并重新启动,然后启动另一个小程序,但再次尝试启动另一个小程序会导致

我有一个包含多个Java3D小程序的网页,在Ubuntu上运行Firefox或Chromium。我可以启动任何一个小程序,但是当我在浏览器中“返回”并尝试启动另一个Java3D小程序时,我得到了

java.lang.UnsatisfiedLinkError:Native Library /lib/libj3dcore-ogl.so already loaded in another classloader
我可以关闭web浏览器并重新启动,然后启动另一个小程序,但再次尝试启动另一个小程序会导致上述错误

与web浏览器相反,我可以在Eclipse中运行任意数量的Java3D小程序。(Java中惊人的重叠OpenGL窗口!)

是否有一种方法可以在另一个Java3D小程序运行后在浏览器中运行,而无需重新启动浏览器

注意:我有一种感觉,离开页面并不意味着小程序已关闭,但就浏览器而言,它仍在运行。可能是一个Javascript,当页面离开时强制小程序结束

如果要查看错误,请从下载zip文件


提取,并在deploy中打开index.html以在本地运行(Internet上的小程序根本不运行,现在还没有)。然后打开一个小程序,返回并尝试运行另一个3D小程序。

Ufff,这是Java安全性中最严重的错误之一,问题很简单,当您打开页面时,小程序加载本机库(我在浏览器中使用Morena进行扫描),然后一切正常,但当您刷新时,小程序尝试重新加载本机库,但是浏览器将小程序保存在缓存中(这样它就不需要再次下载),然后本机已经加载,这就产生了安全问题,这就是为什么不能两次加载本机资源的原因(是的,您的小程序只加载一次,但每次加载小程序时都会调用它,但类加载器只在第一次创建)。 你没有办法。。。穆阿贾!,不,实际上,您可以添加lib(使用本机资源的lib)并将它们直接添加到java/extensions中,但是applet需要一些额外的步骤,而不仅仅是加载applet。 我想你们已经烧焦了你们的JAR,因为它需要在applet中运行本机代码,但直到今天,我还是无法跳过使用本机的applet的刷新问题,只将它们添加到extensions文件夹中