2014-12-19 142 views
0


我想使用GSON库与我的小程序,但JRE(8u25)没有看到图书馆,给我这个错误:

enter image description here部署小程序的第三方库

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上的内容: enter image description here

我试着在我的测试网页中有/没有代码库属性。它不会改变错误。
但是,如果我复制GSON-2.3.1.jar到目录C:\ Program Files文件\的Java \ jre1.8.0_25 \ lib中\分机它的作品没有任何错误

我在做什么错?

回答

1

首先将JRE_HOME/lib/ext中的jar复制出来并不是一个好的解决方案,因为你必须将这个jar复制到所有使用applet的客户端机器上。

我认为你的代码的问题是你的<applet>定义,你使用<param>定义archive,然而在文档archive等被定义为<applet>标签的属性,看看documentation。因此,尝试定义<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>因为<applet>标签不会HTML5支持,也想想use deployJava.js,它可以使更多的方便在不同的浏览器中部署一个applet。

希望这有助于

+0

我知道我是所著给予额外的信息。我试过你给的html代码,但我仍然得到相同的错误。我看到这个,在控制台上的 – e13420xx

+0

。网络:已下载http://example.com/commons/gson-2.3.1.jar:C:\ Users \ BAHADI〜1 \ AppData \ Local \ Temp \ jar_cache7646433364735176176.tmp 缓存:添加MemoryCache条目:http:// example.com/commons/gson-2.3.1.jar cache:registerReference:[email protected]d:1 java.lang.NoClassDefFoundError:com/google/gson/JsonParser – e13420xx

+0

@ e13420xx它是有线的,只有这样才能确定:两个'jars'都可以在'codebase'指定的url处使用?我想他们是因为在你的踪迹中有'network:Downloaded example.com/commons ...',但是你可以手动下载并检查'jar'是否正确并且有'com/google/gson/JsonParser'类,只是为了检查它没有损坏。另一个选择是清理java插件缓存,因为你正在开发也许缓存有问题,请进入'java控制面板>常规选项卡> Internet临时文件>配置...'清理所有档案并重试。希望这会有所帮助 – albciff