java - 如何执行我的 HelloWorld 脚本

标签 java cmd

我目前正在尝试运行我的第一个 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/

相关文章:

java - 由于找不到类错误,无法使用 bat 文件运行 Java 文件

java - Json 字符串转数组

javafx - 使用时间轴更改 ImageView 的图像不起作用

java - 防止 apache poi 中的表拆分

java - CharBuffer.put() 没有工作

xml - 如何使用Office部署工具在服务器上安装Office365?

java - 测量不同排序方法的时间

windows - 如何编写 Windows 批处理脚本以将最新文件从目录复制到新文件夹?

windows - 在 Windows shell 脚本中从字符串中提取数字

windows - Netsh 设置规则取决于操作系统语言