关于Java在cmd运行Helloworld时遇到一些问题

在cmd里运行Java遇到的问题:

运行Helloworld.java文件,有两个步骤:

javac Helloworld.java
java Helloworld

但是刚上来就遇到了问题:

C:\Users\pc>javac Helloworld.java
错误: 找不到文件: Helloworld.java
用法: javac <选项> <源文件>

原因是没有指定正确的文件路径,需要用到 cd 指令来进行路径的指定:

C:\Users\pc>cd C:\Users\pc\eclipse-workspace\javafirsttry\src\asd

C:\Users\pc\eclipse-workspace\javafirsttry\src\asd>

之后在进行输入,又遇到了问题:

C:\Users\pc\eclipse-workspace\javafirsttry\src\asd>javac Helloworld.java

C:\Users\pc\eclipse-workspace\javafirsttry\src\asd>java Helloworld
错误: 找不到或无法加载主类 Helloworld
原因: java.lang.NoClassDefFoundError: asd/Helloworld (wrong name: Helloworld)

显示是”找不到或无法加载主类“。这个问题我找了很多的帖子,发现了两种解决方法。首先是发生这种情况的原因,我们先打开Helloworld.java的java源文件

package asd;

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

可以看到代码最上边有一行package代码,对于代码前边不带package行的,cmd运行方式就是上文所提到的两行代码,而我们的版本是带package行代码的,因此方法一:

对cmd里运行的代码做一些调整,在原先第二行代码的后面加上.java后缀:

C:\Users\pc\eclipse-workspace\javafirsttry\src\asd>javac Helloworld.java

C:\Users\pc\eclipse-workspace\javafirsttry\src\asd>java Helloworld.java
Hello World

可以看到,成功在cmd里运行了。

还有一种方法是说把源代码里的第一行的package代码删去,然后保存后在cmd运行:

C:\Users\pc\eclipse-workspace\javafirsttry\src\asd>javac Helloworld.java

C:\Users\pc\eclipse-workspace\javafirsttry\src\asd>java Helloworld
Hello World

可以看到也成功了,但是不知道是不是版本的原因,我在删去第一行后,我在eclipse里的程序会一直显示有错误,无法进行编译。所以个人还是比较喜好第一种方法。


版权声明:本文为qq_41613630原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。