2010-11-27 4 views
1

Jars (TestApplet.jar 및 Shared.jar)를 모두 스윙 GUI에 올바르게로드하는 방법을 찾으려고합니다. TestApplet.jar을로드하는 데 이미 성공했지만 Shared.jar도로드하는 방법을 찾지 못했기 때문에 NoClassDefFoundError 예외가 발생합니다. 어떻게 제대로 TestApplet의 사용을 위해 Shared.jar를로드 할, 그래서 기본적으로비 애플릿 GUI 프로그램에 두 개의 애플릿 Jars를로드하려면 어떻게해야합니까?

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(); 

:

<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을 시작하는 방법입니다 :

이 페이지의 HTML 코드는? 자세한 내용이나 설명이 필요한지 물어보십시오.

편집 : Exception in thread "main" java.lang.NoClassDefFoundError: com/shared/singleclient/SingleGame

답변

2

당신이 당신의 URLClassLoader에 URL의 집합에 Shared.jar을 추가하는 시도 해 봤나 : 그리고 오류이 무엇입니까? 이런 식으로 뭔가는 다음 URLClassLoader에 포함하는 것이 더 밀접 애플릿에 대한 일반 환경에 근접 것이지만

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에 의해 발견 될 수 있는지 확인 할 수있다.

+0

감사합니다. 너무 단순해서 생각조차하지 않았습니다. : D –

+0

그런데 애플릿에 매개 변수를 어떻게 전달할 수 있는지 알고 계십니까? –

+0

@Henry 어떤 매개 변수? –