我使用的是firefox版本> 3.5(3.5。,3.6。,4。*)我尝试正确指定archive
和codebase
属性,但它不起作用。我的applet主要类位于archive
,并且在运行时加载的一些必要类位于codebase
。如果我仅指定archive
,则会加载小程序,但缺少来自codebase
的类。如果我指定archive
和codebase
,则无法加载小程序。看起来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。
答案 0 :(得分:22)
属性codebase
指定applet的基本URL - 包含applet代码的目录。在archive
属性中搜索jar文件时使用它,以便archive
属性中的所有jar都相对于codebase
进行搜索。
所以。当您同时使用archive="http://myurl.com/archive/myjar.jar"
和codebase="http://myurl.com/classes"
时,这意味着:在“http://myurl.com/archive/myjar.jar”文件夹中找到“http://myurl.com/classes”。
即完整搜索路径为“http://myurl.com/classes/http://myurl.com/archive/myjar.jar”。当然无法找到!
此外,如果没有archive
属性,则找不到codebase
属性中未指定jar文件的类。即如果没有codebase
,则无法在“http://myurl.com/classes”文件夹中找到您的课程。
您可以在Deploying With the Applet Tag教程中找到更多详细信息。
我建议使用以下解决方案:
myjar.jar
放入http://myurl.com/classes
文件夹; <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>