2009-03-08 1 views
5

기본 클래스 (또는 init 메소드가있는 클래스는 무엇이든)를 패키지 안에 넣고 여전히 브라우저에서 실행할 수 있는지 궁금합니다. 대부분의 경우 애플릿을 (기본 패키지에) 넣었지만 여기에있는 애플릿은 패키지에 포함되어 있으므로 웹 페이지에 여전히 포함시킬 수 있습니까?패키지에 init()이있는 Java 애플릿?

나는 약간의 결과로 그것을 봤어. 예를 들어, 이라는 jar 파일의 4 디렉토리에 MyApplet.class이 있다고 가정 해 봅시다.

내가 성공하지 다음을 시도했다 :

<applet archive="MyApp.jar" code="MyApplet.class"> 
<applet archive="MyApp.jar" code="app/MyApplet.class"> 
<applet archive="MyApp.jar" code="/app/MyApplet.class"> 
<applet archive="MyApp.jar/app/" code="MyApplet.class"> 
<applet archive="MyApp.jar" codebase="app/" code="MyApplet.class"> 

이들 각각은 나에게 ClassNotFoundException가 있습니다.

미리 감사드립니다.

답변

3

가 아카이브 속성은 항아리의 파일 이름을 포함해야한다? : 같은 노력이, 그것은 웹 페이지와 같은 디렉토리에 배치해야 .

코드 특성의 클래스 파일에는 디렉터리 구조를 나타내는 슬래시로 구분 된 정규화 된 클래스 이름이 포함되어야합니다.

따라서 시도한 목록에서 MyApp.jar이 실제로 html 페이지 옆에있는 경우 2 번 시도가 성공해야합니다. 또한 MyApp.jar에는 MyApplet 클래스 파일을 포함해야하는 루트에 'app'디렉토리가 있어야합니다. MyApplet 클래스 자체를 앱 패키지에 포함하는 것을 잊지 마십시오.

참고로 this page을 살펴볼 수 있습니다.

1

는 잘 모르겠지만, 당신이

<applet archive="MyApp.jar" code="MyApplet"> 
3

패키지를 점선으로 나열하고 끝에 '.class'를 넣지 마십시오.

<applet code="packagefolder1.packagefolder2.MyApplet" archive="folder1/folder2/MyApp.jar"> 

</applet>