- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我使用 firefox 版本 > 3.5 (3.5.,3.6.,4.*) 并且我尝试指定 archive
和 codebase
属性正确但它不起作用。我的 applet 主类位于 archive
中,一些在运行时加载的必要类位于 codebase
中。如果我仅指定 archive
则加载小程序,但缺少 codebase
中的类。如果我指定 archive
和 codebase
则无法加载小程序。看起来小程序试图从 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
指定小程序的基本 URL - 包含小程序代码的目录。它在 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 "。
IE。完整的搜索路径是"http://myurl.com/classes/http://myurl.com/archive/myjar.jar "。当然也找不到!
此外,如果没有 codebase
属性,则无法找到其 jar 文件未在 archive
属性中指定的类。 IE。如果没有 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>
关于java - 如何在 Java 小程序中正确指定代码库和存档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5947063/
我是一名优秀的程序员,十分优秀!