我目前正在尝试运行我的第一个 java
脚本:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
我决定稍微了解一下 Java。然而,我来自 JavaScript 和 PHP 等不需要任何编译或任何类似的语言。
到目前为止,我认为我在命令提示符下正确编译了它:
C:\Users\Shawn>"C:\Program Files\Java\jdk1.7.0_25\bin\javac.exe" "HelloWorld.java"
它添加了一个名为:HelloWorld.class
的文件,所以我觉得我做对了。
但是,现在当我尝试使用以下方法实际运行该程序时:
C:\Users\Shawn>"C:\Program Files\Java\jdk1.7.0_25\bin\java.exe" "C:\Users\Shawn\HelloWorld.class"
我明白了,错误:无法找到或加载主类 C:\Users\Shawn\HelloWorld.class
。
但是,如果我尝试使用相同的命令但改用 javac.exe
,我会得到:
javac: invalid flag: C:\Users\Shawn\HelloWorld.class
Usage: javac <options> <source files>
use -help for a list of possible options
为什么会这样?为什么我的程序不能正确执行?
最佳答案
java
命令采用类 的名称,而不是文件的名称。
然后,它使用 Java 类加载器在当前目录或类路径中查找该类的 .class
文件。
当您传递 HelloWorld.class
时,它会在 HelloWorld.
包中查找名为 class
的类
(那将是 ./HelloWorld/class.class
)
你需要传递HelloWorld
。
关于java - 如何执行我的 HelloWorld 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17768629/