2010-11-27 91 views
1

我試圖找到一種方法來正確加載Jars(TestApplet.jar和Shared.jar)到鞦韆gui。我已經成功地加載了TestApplet.jar,但它給了NoClassDefFoundError異常,因爲我還沒有發現如何加載Shared.jar。如何將兩個applet Jar加載到非applet gui程序中?

這是頁面上的HTML代碼:

<applet id="testapplet" class="topspacer" codebase="http://codebase.url.com/applets/" code="TestApplet" archive="TestApplet.jar,/Shared/Shared.jar" width="645" height="465"> 
<param name="initmessage" value="Initializing..." /> 
<!-- ... Other parameters ... --> 

我這是怎麼開始TestApplet:

ClassLoader clientClassLoader = new URLClassLoader(new URL[]{new URL("http://codebase.url.com/applets/TestApplet.jar")}); 
Applet loader = (Applet) clientClassLoader.loadClass("TestApplet").asSubclass(Applet.class).newInstance(); 
loader.init(); 
loader.start(); 

所以基本上,我該如何正確地加載Shared.jar爲TestApplet的使用? 只是問你是否需要更多的細節或一些澄清。

編輯:和錯誤是這樣的:Exception in thread "main" java.lang.NoClassDefFoundError: com/shared/singleclient/SingleGame

回答

2

您是否嘗試過在你的URLClassLoader添加Shared.jar設定的網址?事情是這樣的:

ClassLoader clientClassLoader = new URLClassLoader(new URL[]{ 
    new URL("http://codebase.url.com/applets/TestApplet.jar"), 
    new URL("http://codebase.url.com/applets/Shared.jar") 
}); 

或者,你可以確保Shared.jar可以由父ClassLoader發現,儘管包括它在URLClassLoader會更接近的小程序在正常環境。

+0

謝謝,這個工程。這麼簡單,我甚至都沒有想過。 :D – 2010-11-27 08:44:54