在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里的程序会一直显示有错误,无法进行编译。所以个人还是比较喜好第一种方法。