[英]How to specify correctly codebase and archive in Java applet?
我使用firefox版本> 3.5(3.5。 ,3.6。 ,4. *),我尝试正确指定archive
和codebase
属性,但它不起作用。 我的applet主类位于archive
,在运行时加载的一些必要类位于codebase
。 如果我只指定archive
则加载applet但缺少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 。
属性codebase
指定applet的基本URL - 包含applet代码的目录。 在archive
属性中搜索jar文件时使用它,以便相对于codebase
搜索archive
属性中的所有jar archive
。
所以。 当您使用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 ” 。 当然,它无法找到!
此外,如果没有codebase
属性,则无法找到其archive
属性中未指定jar文件的类。 即如果没有codebase
,则无法在“ http://myurl.com/classes ”文件夹中找到您的类。
您可以在使用Applet标记部署教程中找到更多详细信息。
我建议以下解决方案 :
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.