我想知道你是否可以将主类(或带有init方法的类,无论如何)放在一个包中,并且仍然可以在浏览器中运行它?大多数时候我将我的applet放入(默认包),但我的applet在一个包中,所以我还能将它嵌入到网页中吗?
我用谷歌搜索了一些结果。假设我在名为MyApplet.class
的jar文件中名为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。
提前致谢。
答案 0 :(得分:3)
archive属性应该包含jar的文件名,它应该放在与网页相同的目录中。
code属性中的类文件应包含由正斜杠分隔的完全限定类名,以指示目录结构。
因此,在您尝试的试验列表中,如果MyApp.jar实际存在于html页面旁边,则试验2应该会成功。此外,MyApp.jar应包含根目录中的“app”目录,该目录应包含MyApplet类文件。不要忘记在应用程序包中使用MyApplet类。
您可以查看this page以供参考。
答案 1 :(得分:3)
你用虚线表格列出包裹,你不要把'.class'放在最后。
<applet code="packagefolder1.packagefolder2.MyApplet" archive="folder1/folder2/MyApp.jar">
</applet>
答案 2 :(得分:1)
我不确定,但你有这样的尝试吗?:
<applet archive="MyApp.jar" code="MyApplet">