문제
패키지 내부에 메인 클래스 (또는 Init 메소드가있는 클래스)를 넣을 수 있고 여전히 브라우저에서 실행할 수 있는지 궁금합니다. 대부분의 경우 애플릿을 (기본 패키지)에 넣었지만 여기에 애플릿이 패키지에 있으므로 여전히 웹 페이지에 포함시킬 수 있습니까?
결과가 거의없이 검색했습니다. 내가 가지고 있다고 말해 MyApplet.class
호출 된 디렉토리에서 app
항아리 파일에서 MyApp.jar
.
나는 성공하지 못한 상태에서 이것을 시도했다 :
<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을 제공합니다.
미리 감사드립니다.
해결책
아카이브 속성에는 JAR의 파일 이름이 포함되어야하며 웹 페이지와 동일한 디렉토리에 배치해야합니다.
코드 속성의 클래스 파일에는 디렉토리 구조를 나타내는 전방 슬래시로 분리 된 완전히 자격있는 클래스 이름이 포함되어야합니다.
따라서 시도 된 시험 목록에서 MyApp.jar가 실제로 HTML 페이지와 함께 존재한다면 시험 2가 성공해야합니다. 또한 MyApp.jar에는 루트에 '앱'디렉토리가 포함되어 있어야하며, 여기에는 myApplet classFile이 포함되어야합니다. 앱 패키지에 MyApplet 클래스 자체를 갖는 것을 잊지 마십시오.
당신은 볼 수 있습니다 이 페이지 참조.
다른 팁
글쎄, 당신은 패키지를 점선 형태로 나열하고 끝에 '.class'를 넣지 않습니다.
<applet code="packagefolder1.packagefolder2.MyApplet" archive="folder1/folder2/MyApp.jar">
</applet>
확실하지 않지만 이렇게 시도해 보셨습니까? :
<applet archive="MyApp.jar" code="MyApplet">
제휴하지 않습니다 StackOverflow