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 = "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 自行运行小程序,它工作正常。当我打开页面时出现错误

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 文件并且两个文件都在同一目录中。有人知道为什么会发生这种情况吗?

最佳答案

  • /home/me/workspace/myProject/bin
    • applet.html
    • /home/me/workspace/myProject/bin/test
      1. SimpleApplet.class

如果 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>

小贴士:

  • 发布代码时,还要发布导入和包语句,或者换句话说,全部。实际上,我们需要对事物进行猜测;但有了完整的代码,我们就不必这样做了。
  • 在此阶段不要尝试小程序。您应该解决在命令行上使用包的问题,​​而小程序比使用 GUI 的应用程序更难。

关于java - Applet 问题 - NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11692373/

相关文章:

java - 从 Java 8 中的多级映射构造列表

java - 包 android.support.v4.app 不存在;在安卓工作室 0.8

客户端的 Java 媒体框架?

java - Tomcat java.lang.NoClassDefFoundError : Could not initialize class

java - NoClassDefFoundError:com/google/api/client/extensions/appengine/http/UrlFetchTransport?

java - 为什么这个在 Java 7 中编译而不在 Java 8 中编译?

java - 对象层次结构的工厂(多态静态方法解决方法)

java - 是否可以在 Android WebKit 浏览器中运行 Java 小程序?

java - 打印包含 JBIG2 图像的 PDF

java - .jar 使用 -jar 标志运行