2011-07-12 200 views
0

我新的Java和我只是做了我的第一个程序:HelloWorld的后,我编译它,我试图运行它,它给了我这个错误:我使用的Ubuntu版本10.04需要java编程帮助!

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld Caused by: java.lang.ClassNotFoundException: HelloWorld 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: HelloWorld. Program will exit.

,我做了使用geany编写程序,并使用命令javac HelloWorld.java在终端编译它。 然后我用终端命令运行它:java HelloWorld然后出现上面的错误。 我HelloWorld.java文件看起来像这样:

public class HelloWorld { 

    public static void main (String[] args) { 
      System.out.println("Hello World"); 
    } 
} 

然后我HelloWorld.class文件看起来像这样:

public static void main(string[] args) 
+4

'java -classpath。如果HelloWorld.class在你当前的工作目录中,HelloWorld应该可以工作。 – biziclop

回答

2

你要么需要直接从包含您的.class文件的目录中运行java命令,或您需要定义类路径,也就是JVM可以找到您编译的Java类的地方。尝试:

java -classpath <directory> HelloWorld 

其中<directory>是(相对的)路径包含您的HelloWorld.class文件的目录。

+0

我试过打字:java -classpath'/ home /(user)/ Desktop/java1'HelloWorld但我给了我这个错误:异常在线程“main”java.lang.ClassFormatError:不兼容的魔法值1886741100在类文件HelloWorld中 \t在java.lang.ClassLoader.defineClass1(本机方法) \t在需要java.lang.ClassLoader.defineClass(ClassLoader.java:634) \t在java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) \t在java的.net.URLClassLoader.defineClass(URLClassLoader.java:277) \t at java.net.URLClassLoader.access $ 000(URLClassLoader。java:73) \t at java.net.URLClassLoader $ 1.run(URLClassLoader.java:212) – kolton

0

当您运行的程序,看起来你可以打字:中

java HelloWorld.class 

代替

java HelloWorld 

当我试了一下,它像它应该,除非我包含“.class”,它导致它给出你粘贴的错误。

+0

不,我键入java HelloWorld – kolton

0

根据您对Jeen Broekstra解决方案的回应,我建议您查看代码中的“slanty”引用 - See here。再次java -classpath '/home/(user)/Desktop/java1' HelloWorld

然后尝试编译:javac HelloWorld.class
和运行。

1

检查系统上安装了哪些JVM。我与OpenJDK有同样的问题。删除它并安装Oracle JDK后,问题消失了。您也可以在Project> Properties> Build> Execute Commands中指定正确的JDK路径。例如,执行命令为$ JAVA_HOME/bin/java“%e”。

0

我刚刚在Geany中遇到同样的问题。我意识到我点击了“Build”选项(在我的工具栏上它看起来像一个砖块)而不是“编译”(蓝色多面体转换为红色球体)。