我使用firefox > 3.5 (3.5,3.6,4.*),我试图正确地指定archive和codebase属性,但它不起作用。我的applet主类位于archive中,运行时加载的一些必要类位于codebase中。如果我只指定了archive,那么小程序就会被加载,但是来自codebase的类就会丢失。如果我指定了archive和codebase,那么就无法加载applet。它看起来像applet,尝试从codebase文件夹加载主类,而不查看archive文件。
<html>
<body>
<applet width=600 height=300 code="MyClass.class"
type="application/x-java-applet;jpi-version=6"
archive="http://myurl.com/archive/myjar.jar"
codebase="http://myurl.com/classes">
no applet
</applet>
</body>
</html>主类位于http://myurl.com/archive/myjar.jar中,运行时类位于http://myurl.com/classes中。
发布于 2011-05-10 12:48:38
属性codebase指定applet的基本URL --包含applet代码的目录。它是在archive属性中搜索jar文件时使用的,这样就可以相对于codebase搜索archive属性中的所有jar。
所以。当您同时使用""和codebase="http://myurl.com/classes"时,它的意思是:在""文件夹中查找archive="http://myurl.com/archive/myjar.jar"。
也就是说,完整的搜索路径是"".当然也找不到了!
另外,在archive属性中没有指定jar文件的类,没有codebase属性是找不到的。也就是说,如果没有""文件夹中的类,那么就无法在codebase文件夹中找到类。
您可以在Deploying With the Applet Tag教程中找到更多细节。
我建议使用以下解决方案
folder;
myjar.jar --您的MyClass.class处于默认包中,而在"",中,以下代码应该可以工作:<html>
<body>
<applet width=600 height=300 code="MyClass"
type="application/x-java-applet;jpi-version=6"
archive="myjar.jar"
codebase="http://myurl.com/classes">
no applet
</applet>
</body>
</html>https://stackoverflow.com/questions/5947063
复制相似问题