Java 小程序故障-NoClassDefFoundError
我意识到有一百万篇这样的帖子,但没有一篇对我有帮助,所以我要说的是:我正在尝试部署一个非常简单的小程序,它无法正常加载。 我的HTML:Java 小程序故障-NoClassDefFoundError,java,applet,noclassdeffounderror,Java,Applet,Noclassdeffounderror,我意识到有一百万篇这样的帖子,但没有一篇对我有帮助,所以我要说的是:我正在尝试部署一个非常简单的小程序,它无法正常加载。 我的HTML: <html> <head> <meta http-equiv="Content-Type" content"text/html; charset=utf-8"> </head> <body> <applet code = "SimpleApplet.class" width
<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>
两个文件位于同一目录中
/home/me/workspace/myProject/bin/test
如果我通过Eclipse自己运行小程序,它就可以正常工作。当我打开页面时,我得到了错误信息
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>
指出类路径和代码库(通常与归档相关)问题是出现这种情况的主要原因。但是,我没有使用jar文件,两个文件都在同一个目录中。有人知道为什么会这样吗?从
以及其他尝试,包括删除“,”尝试绝对路径名和所有部分路径名,以及使用.java
您正在尝试源代码test/simpleaplet.java,而不是test/simpleaplet.class。您需要将simpleaplet.java文件编译为simpleaplet.class文件
确保当你这样做时,你使用
<applet code = "SimpleApplet.class"
codebase = "/test"
width = "320" height = "100"></applet>
As/test是代码基,而不是包名。
- /home/me/workspace/myProject/bin
- applet.html
- /home/me/workspace/myProject/bin/test
- simpleaplet.class
如果类simpleaplet
在packagetest
中,则将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>
小贴士:
- 在发布代码时,也要发布导入和包语句,或者换句话说,所有内容。既然如此,我们需要猜测;但是有了完整的代码,我们就不必这样做了
- 在这个阶段不要尝试小程序。你应该在命令行上整理一下如何使用软件包,小程序比使用GUI的应用程序更难
NoClassDefFoundError:Ahmed(错误名称:intoapplet/Ahmed)
我已经找了三天的解决方案了
你的忠告是:
如果您已将类命名为“test”,则编码约定建议它应为“test”
这有助于我在Java类中不包含包声明
----------------------------------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>
<head>
<title>Tutorial applet</title>
</head>
<body>
<Applet code="Ahmed.class" width="400"; height="300";>
</Applet>
</body>
</html>
----------------------------------HTML代码----------------------------------
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>
<head>
<title>Tutorial applet</title>
</head>
<body>
<Applet code="Ahmed.class" width="400"; height="300";>
</Applet>
</body>
</html>
似乎是说您有一个名为“SimpleApplet”的.class文件,内部称其名称为“test/SimpleApplet”。也就是说,您已将其声明为在“test”包中,但尚未将其定位在jar或类目录中的“test”目录中。例如,您可能指定了“mystuff/mydir/test”在类路径中,当您应该只说“mystuff/mydir”时。