试图通过html文件加载java小程序

试图通过html文件加载java小程序,java,html,applet,localhost,Java,Html,Applet,Localhost,目录是这样的: test.html blah hmmm 在“blah”中,我们有所有小程序文件,包括blahBlah.class。在“hmmm”中还有一些从库或其他地方获取的类文件,它们也被项目使用 我在test.html中编写 <applet name="blah" code="/blahBlah.class" codebase="blah"></applet> 现在在blahBlah.java中,我们有: package blah; 我不确定这是否有关联 还想知

目录是这样的:

test.html
blah
hmmm
在“blah”中,我们有所有小程序文件,包括blahBlah.class。在“hmmm”中还有一些从库或其他地方获取的类文件,它们也被项目使用

我在test.html中编写

<applet name="blah" code="/blahBlah.class" codebase="blah"></applet>
现在在blahBlah.java中,我们有:

package blah;
我不确定这是否有关联

还想知道是否有必要将项目放在jar文件中并设置小程序的存档属性

真正的文件不是废话和废话,但我忠实地替换了名称

java.lang.NoClassDefFoundError:blahBlah(错误名称:blah/blahBlah)

这基本上意味着它被执行为

java blahBlah
而不是

java blah.blahBlah
换句话说,您的
code
attribtue是错误的。一定是这样


或仅通过FQN(另请参见Andrew的评论)



codebase
默认为当前文件夹,在本例中这很好,因此它被删除。另一种方法是将其放在另一个文件夹中,例如
/applet
或其他文件夹。您至少不应该使用包文件夹作为代码库,而应该使用包根目录。

@Downvoter:忽略小程序不是有效的downvote原因。这是一个非常清楚有效的问题。非常感谢。这是可行的,而且它通过服务器为它提供服务,这是我的初衷。
blah/blahBlah.class
可能是可以容忍的,但是
blah.blahBlah
(FQN)是正确的。@Andrew:AFAIK只有当它由JAR存档提供时才有效。OP在公共域中具有类plain。然后,您应该真正需要在
code
中指定URI。如果它被打包在一个JAR中,那么
确实是唯一的方法。“这只在它由JAR存档提供的情况下起作用。”快速测试表明它在没有JAR的情况下可以工作。我很乐意在一个单独的问题上向你们证明这一点,但如果你们相信我的话并编辑答案,我就投票吧,随它去吧。像您这样有帮助的人建议在Sun教程中看到的许多小程序元素中重复使用陈旧的代码属性形式(我想这就是这个谬误的根源)。@Andrew:fair point。很久以前,我最后一次摆弄小程序:)
java blah.blahBlah