小编典典

如何在Java小程序中正确指定代码库和归档?

java

我使用firefox版本> 3.5(3.5。 ,3.6。
,4。*),我尝试正确地指定archivecodebase属性,但是它不起作用。我的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中


阅读 272

收藏
2020-09-08

共1个答案

小编典典

该属性codebase指定小程序的基本URL-
包含小程序代码的目录。在搜索archive属性中的jar文件时使用它,以使archive属性中的所有jar 都相对于进行搜索codebase
所以。一起使用时archive="http://myurl.com/archive/myjar.jar"codebase="http://myurl.com/classes"它的意思是:在
http://myurl.com/classes 文件夹中找到
http://myurl.com/archive/myjar.jar
。 即,完整的搜索路径是
http://myurl.com/classes/http://myurl.com/archive/myjar.jar
。当然也找不到! 同样,未在属性中指定其jar文件的类也可以’

archive``codebase属性。也就是说,如果没有codebase,就无法在
http://myurl.com/classes
文件夹中找到您的课程。

您可以在“
使用Applet标签进行部署”教程中找到更多详细信息。

我建议以下 解决方案

  1. 放置myjar.jarhttp://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>
2020-09-08