-1

我从http://kodejava.org/examples/566.html站点下载了一个 JTree 程序。它正在编译,但是在运行程序时,它给出了这个异常:

Exception in thread "main" java.lang.NoClassDefFoundError: JTreeDifferentNodeIcon (wrong name: org/kodejava/example/swing/JTreeDifferentNodeIcon)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

谁能告诉我会是什么问题??感谢你。

4

2 回答 2

1

你的包裹是org.kodejava.example.swing. 您可以尝试通过指定 -d 选项来构建 javac。为了更好地理解让我们假设你的桌面上有源文件说"C:\Users\sarath_sivan\Desktop\JTreeDifferentNodeIcon.java"

  • 首先,您可以打开命令提示符并将目录更改为 C:\Users\sarath_sivan\Desktop( cd C:\Users\sarath_sivan\Desktop)。
  • 然后在那里创建一个名为 classes 的新文件夹 ( mkdir classes)。
  • 现在,您可以使用 javac 构建,指定“-d”选项来告诉它基本目录,它将创建适当的包结构。( javac -d classes JTreeDifferentNodeIcon.java)
  • 然后你可以运行java -cp classes org.kodejava.example.swing.JTreeDifferentNodeIcon它将产生如下输出:

在此处输入图像描述

希望这可以帮助!谢谢...

于 2013-02-26T08:17:03.817 回答
0

它说“NoClassDefFoundError”(没有找到类定义错误)所以我认为您使用的是以前未定义的类(可能是因为输入错误或忘记导入某些内容或删除文件或将最终文件从一个文件夹移动到另一个)
PS我还没看代码(时间不够)

于 2013-02-26T08:14:02.150 回答