java - 当java程序通过命令提示符运行时,哪个文件被执行?

标签 java command-prompt

我很好奇这个问题。

当我们使用 javac 编译 .java 文件时,即。 javac JavaFileName.java,一个 JavaFileName.class 文件被创建。但是,当我们在命令提示符下使用 java 命令运行此 java 程序时,我们会编写 java JavaFileName

我的问题是,当我们通过命令提示符运行java程序时,哪个文件被传递给java命令?

如果它使用.class文件那么为什么它在java JavaFileName.class上给出错误

最佳答案

这不是您指定的文件。相反,您指定一个,Java 将使用类路径 中的条目来查找它。

您的类路径将包含目录或.jar/.zip,Java将按顺序搜索它们。

显然对于目录来说,指定的类和文件之间存在映射。这也适用于 .jar/.zip。 Java将寻找相应的条目。

例如

   java a.b.c.D

将导致搜索文件或 .jar 条目a/b/c/D.class

关于java - 当java程序通过命令提示符运行时,哪个文件被执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12070556/

相关文章:

java - 从 REST 客户端动态创建 Android 模型

java - 获取JSON字符串的抽象语法树

c# - Process.Start(...) 抛出 "The system cannot find the file specified"

java - 如何在 Java 中更改目录并执行其中的文件

java - 在 Java 中对集合进行排序

java - 如何将另一个属性文件中的值注入(inject)到 ValidationMessages.properties 中?

java - 打印 Unicode 字符 Android TextView

用于备份所有环境变量并将其保存在文件中的 PowerShell 脚本

python - 用pip安装MySQL-python,得到 "failed with error code 1"

Java JDK - 在 Eclipse 中找到,但在 CMD 中没有