在Java应用程序启动(又名
java.exe或干脆
java)预计最多支持四个不同的方式来指定要启动(取决于Java版本使用)的东西。
- 指定 类名 是最基本的方法。注意, 类名 不同于 文件名 。
java -cp path/to/classFiles/ mypackage.Main
在这里,我们启动类
mypackage.Main,并使用
-cp开关来指定它是用来查找类的类路径(该类别的完整路径
mypackage.Main会
path/to/classFiles/mypackage/Main.class。
- 启动一个jar文件。
java -jar myJar.jar
这会将jar本身及其在
Class-Path条目上指定的所有内容放在类路径上,并启动通过
Main-Class条目指示的类。请注意,在这种情况下,您
不能 指定任何其他类路径条目(它们将被静默忽略)。
Java 9引入了模块,并由此引入了一种以与选项#2相似的方式启动特定模块的方式(通过启动该模块专用的主类或通过在该模块内启动用户指定的类):
java --module my.module
Java 11引入了对单文件源代码程序的支持,这使得执行适合单个源文件的Java程序非常容易。它甚至为您完成了编译步骤:
java MyMain.java
该选项对于第一次尝试Java很有用,但很快会达到其极限,因为它不允许您访问另一个源文件中定义的类(除非您单独编译它们并将它们放在类路径中,否则将失败)这种方法的易用性,这意味着您可能应该在这种情况下切换回选项1。
此功能被开发为JEP 330,有时仍被称为JEP
330。
对于您的特定情况,您可以使用选项#1并
java通过使用
-classpath选项(或其缩写
-cp)告诉在哪里寻找该类:
java -classpath C:PeterMichaelLazarus Main
如果 您
Main.java包含整个源代码(并且它在同一目录中),则可以使用选项#4,跳过编译步骤并直接编译并执行它:
java c:PeterMichaelLazarusMain.java



