繁体   English   中英

使用第三方库部署applet

[英]Deploying applet with 3rd party library


我正在尝试将gson库与我的applet一起使用,但JRE(8u25)看不到该库,并给了我这个错误:

在此处输入图片说明

MyAppSigned.jar是我的签名小程序
gson-2.3.1.jar是我要使用的库

测试网页内容(Test.html):

<html>
<body>
<applet code='test.XApplet' width=400  height=400>
    <param name='ARCHIVE' value='MyAppSigned.jar,gson-2.3.1.jar'>
    <param name='codebase' value='http://example.com/Commons'>
</applet>
</body>
</html>

这是MyAppSigned.jar中清单文件的内容:

Manifest-Version: 1.0
Trusted-Library: true
Class-Path: gson-2.3.1.jar
Permissions: all-permissions
Created-By: 1.6.0_26 (Sun Microsystems Inc.)
Codebase: *
Name: test/XApplet.class
SHA1-Digest: qLHEgL7Or0Ja7Jn7iRZt2lJ/928=

这是iis上commons目录的内容: 在此处输入图片说明

我在测试网页中尝试使用是否具有codebase属性。 它不会更改错误。
但是,如果我将gson-2.3.1.jar复制到目录C:\\ Program Files \\ Java \\ jre1.8.0_25 \\ lib \\ ext, 它可以正常工作而不会出现任何错误

我究竟做错了什么?

首先,将jar复制到JRE_HOME/lib/ext中不是一个好的解决方案,因为您必须在将要使用applet的所有客户端计算机中复制此jar。

我认为您代码的问题出在<applet>定义中,您正在使用<param>定义archive ,但是在文档archive ,其他文档都定义为<applet>标记的属性,请查看document 因此,尝试按以下方式定义<applet>

<html>
<body>
<applet code="test.XApplet" width="400"  height="400" 
    archive="MyAppSigned.jar,gson-2.3.1.jar" codebase="http://example.com/Commons">
</applet>
</body>
</html>

请注意,最好使用<object>因为HTML5中将不支持<applet>标记,也请考虑使用deployJava.js ,它可以更轻松地在不同的浏览器中部署applet。

希望这可以帮助,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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