使用JDEE从emacs内部运行Java应用程序会抛出NoClassDefFoundError

使用JDEE从emacs内部运行Java应用程序会抛出NoClassDefFoundError,java,emacs,jde,Java,Emacs,Jde,我已经在emacs中配置了JDEE。但当我尝试运行任何应用程序时,它抛出NoClassDefFoundError。 编译时,尽管创建了类文件,但它只显示缓冲区一段时间,然后将其关闭 如果从终端编译并运行相同的文件,则工作得非常好 另外,我在这台机器上安装了java-6-openjdk。我已经在我的家用计算机上配置了JDEE,这台计算机上有sun java jdk,没有这样的问题 除此之外,代码完成、生成等功能也可以正常工作 我如何解决这个问题?这是因为开放jdk吗 我使用的是Ubuntu 10.

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

如果从终端编译并运行相同的文件,则工作得非常好

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

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

我如何解决这个问题?这是因为开放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

感谢您的提问,在设置运行Java应用程序时要启动的命令时,JDEE配置听起来好像不完整

如果同一个Java应用程序可以在终端上运行而没有问题,我敢打赌,OpenJDK不会造成问题


可能是您从另一台计算机复制了JDEE配置,而没有将其应用于具有OpenJDK的新计算机。

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

您可以发布整个stacktrace吗?用stack TraceEyes编辑了这个问题,配置jde run working directory后,它现在可以工作了。但似乎每次我在项目之间切换时都必须重新配置。有没有办法避免这种情况?我不记得在家里的电脑上做过这样的事情。回家后我会再检查的。非常感谢!您可以设置jde项目支持,以便它根据与文件关联的项目适当地设置这些变量。