2014-12-19 148 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