0

我已经在 emacs 中配置了 JDEE。但是当我尝试运行任何应用程序时,它会抛出 NoClassDefFoundError 。编译时,虽然创建了一个类文件,但它只显示缓冲区一段时间,然后关闭它。

如果从终端编译和运行相同的文件,则可以正常工作。

另外,在这台机器上我安装了 java-6-openjdk。我已经在装有 sun java jdk 的家用计算机上配置了 JDEE,并且那里没有此类问题。

除此之外,代码完成、生成等功能都可以正常工作。

我该如何解决这个问题?这是因为打开 jdk 吗?

我正在使用 Ubuntu 10.04 桌面。

这是堆栈跟踪

cd /home/vineet/java/KodeJava/src/org/kodeplay/kodejava/
/usr/lib/jvm/java-6-openjdk/bin/java org.kodeplay.kodejava.EmacsTest

Exception in thread "main" java.lang.NoClassDefFoundError: org/kodeplay/kodejava/EmacsTest
Caused by: java.lang.ClassNotFoundException: org.kodeplay.kodejava.EmacsTest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.kodeplay.kodejava.EmacsTest. Program will exit.

Process org.kodeplay.kodejava.EmacsTest exited abnormally with code 1

谢谢

4

2 回答 2

0

从这个问题来看,在设置运行 Java App 时要启动的命令时,JDEE 配置似乎不完整。

如果可以从终端运行相同的 Java 应用程序而没有问题,那么 OpenJDK 不会造成问题,我敢打赌。

也许您从另一台计算机复制了 JDEE 配置,但没有将它们用于具有 OpenJDK 的新计算机。

于 2011-03-31T22:37:22.437 回答
0

您的配置中的某些内容是错误的。您正在尝试从“/home/vineet/java/KodeJava/src/org/kodeplay/kodejava/”目录运行,但是为了在类路径中找到您的类,您应该从“/home/vineet/”运行java/KodeJava/src/”。可能需要配置“jde-run-working-directory”变量。

于 2011-04-01T00:45:37.823 回答