繁体   English   中英

需要 java 编程方面的帮助!

[英]Need help with java programming!

我是 java 的新手,我刚刚制作了我的第一个程序:HelloWorld,编译后我尝试运行它,它给了我这个错误:

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) 找不到主要的 class:HelloWorld。 程序将会退出。

我使用的是 ubuntu 版本 10.04,我用 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)

You either need to run your java command directly from the directory that contains your.class file, or you need define the classpath, that is, the place where the JVM can find your compiled Java class. 尝试:

java -classpath <directory> HelloWorld

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

检查您的系统上安装了什么 JVM。 我对 OpenJDK 有同样的问题。 删除它并安装 Oracle JDK 后,问题就消失了。 您还可以在 Project > Properties > Build > Execute Commands 中指定正确的 JDK 路径。 例如,$JAVA_HOME/bin/java "%e" 用于执行命令。

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

当你运行你的程序时,看起来你可能正在输入:

java HelloWorld.class

代替

java HelloWorld

当我尝试它时,它就像它应该的那样工作,除非我包含“.class”,这会导致它给出你粘贴的错误。

根据您对 Jeen Broekstra 解决方案的回复,我建议您查看您的代码中的“倾斜”报价 -请参阅此处

然后尝试编译: javac HelloWorld.class
并运行: java -classpath '/home/(user)/Desktop/java1' HelloWorld
再次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM