我按照这篇文章和这篇文章来构建一个Java应用程序。
以下是我公司/HelloWorld中的所有内容.java
package company;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
通常,运行 java 程序需要 2 个步骤:
- javac 文件,例如
javac company/HelloWorld.java
- Java 类文件,例如
java company.HelloWorld
正如预期的那样,它给了我"你好,世界"。
似乎java -cp
可以批量执行上述 2 个步骤,尽管我的 env 似乎无法识别此命令
java -cp company.HelloWorld
和输出
用法: java [-options] 类 [args...]
根据@hayrettinm的回答,这是另一个版本。
package company.HelloWorld;
也没用。我错过了什么?
为什么我认为java -cp
可以编译和运行? 这篇文章给出了这个例子
PS C:Lecture_javaLecture001Hello> & 'C:Usersubuntu.vscodeextensionsvscjava.vscode-java-debug-0.23.0scriptslauncher.bat' 'C:Program FilesJavajdk-13.0.1binjava' '-Dfile.encoding=UTF-8' '-cp' 'C:Lecture_javaLecture001Hellobin' 'app.App'
实验结束后,我想java -cp company.HelloWorld
无法编译和运行,它只能运行一个 Java 应用程序。有人可以给一个 双重确认。
java -cp 不做你写的。
javac 可执行文件是将类编译为字节码的编译器, Java 可执行文件基本上是理解您编译的字节码的运行时。
此外
如果要使用包com.company.HelloWorld
你必须在类中编写这样的包降级:
package com.company.HelloWorld;