我意识到这些帖子中有一百万,但没有一个帮助过我,所以这里说:我正在尝试部署一个非常非常简单的applet,它无法正常加载。 我的HTML:
<html>
<head>
<meta http-equiv="Content-Type" content"text/html; charset=utf-8">
</head>
<body>
<applet code = "SimpleApplet.class"
width = "320" height = "100"></applet>
</body>
</html>
我的Java:
package test;
import javax.swing.*;
public class SimpleApplet extends JApplet{
public void init(){
try{
SwingUtilities.invokeAndWait(new Runnable(){
public void run(){
JLabel lbl = new JLabel("Hello World");
add(lbl);
}
});
}
catch(Exception e){
System.out.println(e);
}
}
}
两个文件都位于同一目录
中/home/me/workspace/myProject/bin/test
如果我通过Eclipse自行运行applet,它运行正常。当我打开页面时,我收到错误
java.lang.NoClassDefFoundError: SimpleApplet (wrong name: test/SimpleApplet)
该错误表明我错误地放置或命名了某些内容。但是,尝试后
<applet code = "test/SimpleApplet.class"
width = "320" height = "100"></applet>
<applet code = "SimpleApplet.class"
codebase = "/test"
width = "320" height = "100"></applet>
以及其他尝试,包括删除“,尝试绝对和所有部分路径名称,并使用.java,它仍然不起作用,我最终得到一个ClassNotFoundException。Other answers点这个类路径和代码库(通常与归档有关)问题是发生这种情况的主要原因。但是,我没有使用jar文件,两个文件都在同一个目录中。有人知道为什么会这样吗?
答案 0 :(得分:7)
如果类SimpleApplet
在包test
中,则将HTML放在父目录中(如上所述),并使用此HTML。
<html>
<head>
<meta http-equiv="Content-Type" content"text/html; charset=utf-8">
</head>
<body>
<applet code = "test.SimpleApplet"
width = "320" height = "100"></applet>
</body>
</html>
答案 1 :(得分:0)
从
判断以及其他尝试,包括删除“,尝试绝对和所有部分路径名称,以及使用.java
您正在尝试使用test / SimpleApplet.java而不是test / SimpleApplet.class。您需要将SimpleApplet.java文件编译为SimpleApplet.class文件
确保在执行此操作时使用
<applet code = "SimpleApplet.class"
codebase = "/test"
width = "320" height = "100"></applet>
as / test是代码库,而不是包名。
答案 2 :(得分:0)
NoClassDefFoundError: Ahmed (wrong name: intoapplet/Ahmed )
我一直在寻找解决方案3天。
您的建议:
如果您已将类命名为“test”,则编码约定建议它应为“测试”。
这有助于我在我的Java类中不包括包声明。通过将名称的第一个字母保存为大写项目(使用eclipse)。
---------------------------------- Java代码:---------- ----------------------
import java.awt.*;
import javax.swing.*;
public class Ahmed extends JApplet {
private static final long serialVersionUID = 1L;
public void paint(Graphics g){
super.paint(g);
g.drawString("my name is Ahmed Zaki wow this actually
works",300,300);
}
}
---------------------------------- HTML code ----------- -----------------------
<html>
<head>
<title>Tutorial applet</title>
</head>
<body>
<Applet code="Ahmed.class" width="400"; height="300";>
</Applet>
</body>
</html>
-------开源SFTP,FTP,WebDAV和SCP客户端上的目录-------
两者,课堂和html文件,在/ public_html /文件夹中使用“WinSCP”,它是Microsoft Windows的免费开源SFTP,FTP,WebDAV和SCP客户端。它的主要功能是在本地和远程计算机之间进行安全的文件传输。
example:
directory for html file = /public_html/index.html
directory for class file = /public_html/Ahmed.class
example no2:
+-- public_html
| +-- index.html
| +-- Ahmed.class