繁体   English   中英

如何在Java applet中正确指定代码库和存档?

[英]How to specify correctly codebase and archive in Java applet?

我使用firefox版本> 3.5(3.5。 ,3.6。 ,4. *),我尝试正确指定archivecodebase属性,但它不起作用。 我的applet主类位于archive ,在运行时加载的一些必要类位于codebase 如果我只指定archive则加载applet但缺少codebase中的类。 如果我指定archivecodebase则无法加载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.jarhttp://myurl.com/classes文件夹中。
即完整的搜索路径是http://myurl.com/classes/http://myurl.com/archive/myjar.jar 当然,它无法找到!
此外,如果没有codebase属性,则无法找到其archive属性中未指定jar文件的类。 即如果没有codebase ,则无法在http://myurl.com/classes文件夹中找到您的类。

您可以在使用Applet标记部署教程中找到更多详细信息。

我建议以下解决方案

  1. myjar.jar放在http://myurl.com/classes文件夹中;
  2. 假设您的MyClass.class在默认包中,并在http://myurl.com/archive/myjar.jar ”中 ,以下代码应该有效:

<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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM