文章摘要: 摘要内容。
简介
java命令启动 Java 应用程序。通过启动 Java 运行时环境 (JRE)、加载指定的类并调用该类的main()方法来执行此操作。java命令可用于通过加载具有main()方法或扩展javafx.application.Application的类来启动 JavaFX 应用程序。在后一种情况下,启动程序构造Application类的实例,调用其init()方法,然后调用start(javafx.stage.Stage)方法。- 默认情况下,不是
java命令选项的第一个参数是要调用的类的完全限定名称。如果指定了-jar选项,则其参数是包含应用程序的类和资源文件的 JAR 文件的名称。启动类必须由其源代码中的Main-Class清单标头指示。 - JRE 在三组位置搜索启动类(以及应用程序使用的其他类):引导程序类路径、已安装的扩展和用户的类路径。
- 类文件名或 JAR 文件名后面的参数将传递给
main()方法。
格式
提示
java [<选项>] <类名> [<参数>]:运行java字节码文件,即已经编译过的文件。
java [<选项>] -jar <文件名> [<参数>]:运行jar文件,即打包好的文件。
选项
注释
标准选项
- 这些是 JVM 的所有实现都支持的最常用的选项。
-help -?
- 显示
java命令的使用情况信息,而不实际运行 JVM。
-agentlib:<本机代理程序库名>[=<选项>]
- 加载指定的本机代理程序库。在库名称之后,可以使用特定于库的逗号分隔选项列表。
- 有关本机代理库的更多信息,请参阅以下内容:
- 本机代理程序库名:
java.lang.instrument包描述 http://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html - 选项:JVM 工具界面指南中的代理命令行选项,网址为 http://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html#starting
-agentpath:<本机代理程序库的绝对路径>[=<选项>]
- 加载由绝对路径名指定的本机代理程序库。
- 此选项等效于
-agentlib,但使用库的完整路径和文件名。
-client
- 选择 Java HotSpot 客户端 VM。
- Java SE 开发工具包 (JDK) 的 64 位版本当前忽略此选项,而是使用 Server JVM。
-D<属性>=<值>
- 设置系统属性值。
属性变量是一个没有空格的字符串,表示属性的名称。值变量是表示属性值的字符串。- 如果
值是带空格的字符串,则用引号将其括起来(例如-Dfoo=“foo bar”)。
-d32
- 在 32 位环境中运行应用程序。
- 如果未安装 32 位环境或不支持 32 位环境,则会报告错误。
- 默认情况下,除非使用 64 位系统,否则应用程序将在 32 位环境中运行。
-d64
- 在 64 位环境中运行应用程序。
- 如果未安装 64 位环境或不支持 64 位环境,则会报告错误。
- 默认情况下,除非使用 64 位系统,否则应用程序将在 32 位环境中运行。
- 目前只有 Java HotSpot Server VM 支持 64 位操作,并且
-server选项是使用-d64时隐含的。使用-d64时,将忽略-client选项。在未来版本中,这可能会发生更改。
-disableassertions[:[<包名>]...|:<类名>] -da[:[<包名>]...|:<类名>]
- 禁用断言。默认情况下,断言在所有包和类中都处于禁用状态。
-disablesystemassertions -dsa
- 禁用所有系统类中的断言。
-enableassertions[:[<包名>]...|:<类名>] -ea[:[<包名>]...|:<类名>]
- 启用断言。默认情况下,断言在所有包和类中都处于禁用状态。
-enablesystemassertions -esa
- 在所有系统类中启用断言。
-jar <文件名>
- 执行封装在 JAR 文件中的程序。
文件名参数是一个 JAR 文件的名称,其清单包含一行Main-Class:``classname格式的行,该行使用用作应用程序起点public static void main(String[] args)的方法定义类。- 使用
-jar选项时,指定的 JAR 文件是所有用户类的源,其他类路径设置将被忽略。
-javaagent:<JRE路径>[=<选项>]
- 加载指定的 Java 编程语言代理。
-jre-restrict-search
- 在版本搜索中包括用户专用 JRE。
-no-jre-restrict-search
- 从版本搜索中排除用户专用 JRE。
-server
- 选择 Java HotSpot Server VM
- JDK 的 64 位版本仅支持服务器 VM,因此在这种情况下,该选项是隐式的。
-showversion
- 显示版本信息并继续执行应用程序。
- 此选项等同于
-version选项,不同之处在于后者指示 JVM 在显示版本信息后退出。
-splash:<图片>
- 显示带有
图片指定图像的初始屏幕。 - 例如,要在启动应用程序时显示
images目录中的splash.gif文件,请使用以下选项:-splash:images/splash.gif
-verbose:class
- 显示有关每个加载的类的信息。
-verbose:gc
- 显示有关每个垃圾回收(GC)事件的信息。
-verbose:jni
- 显示有关使用本机方法和其他 Java 本机接口(JNI)活动的信息。
-version
- 显示版本信息,然后退出。
- 此选项等同于
-showversion选项,不同之处在于后者不会指示 JVM 在显示版本信息后退出。
-version:<版本号>
- 指定要用于运行应用程序的发布版本。如果调用的
java命令的版本不符合此规范,并且在系统上找到了适当的实现,则将使用适当的实现。
类名
- 要启动的类的名称。
文件名
- 要调用的 Java 存档 (JAR) 文件的名称。仅与
-jar选项一起使用。
参数
- 传递给
main()方法的参数,以空格分隔。
案例
# 运行jar文件
java -jar myapp.jar