如何运行可执行 JAR 文件

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Java 开发者常常需要将他们的应用程序打包成可执行的 JAR 文件,以便于分发和部署。本教程将指导你完成创建和运行可执行 JAR 文件的过程,帮助你掌握一项基本的 Java 编程技术。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/FileandIOManagementGroup -.-> java/files("Files") java/FileandIOManagementGroup -.-> java/create_write_files("Create/Write Files") java/FileandIOManagementGroup -.-> java/read_files("Read Files") java/FileandIOManagementGroup -.-> java/delete_files("Delete Files") java/FileandIOManagementGroup -.-> java/io("IO") subgraph Lab Skills java/files -.-> lab-414131{{"如何运行可执行 JAR 文件"}} java/create_write_files -.-> lab-414131{{"如何运行可执行 JAR 文件"}} java/read_files -.-> lab-414131{{"如何运行可执行 JAR 文件"}} java/delete_files -.-> lab-414131{{"如何运行可执行 JAR 文件"}} java/io -.-> lab-414131{{"如何运行可执行 JAR 文件"}} end

理解可执行 JAR 文件

什么是可执行 JAR 文件?

可执行 JAR(Java 归档)文件是一种特殊类型的 Java 归档文件,无需显式调用 Java 虚拟机(JVM)即可直接从命令行运行。这是通过在 JAR 文件的清单文件中包含一个特殊条目来实现的,该条目指定要执行的主类。

为什么要使用可执行 JAR 文件?

可执行 JAR 文件有以下几个优点:

  1. 可移植性:可执行 JAR 文件可以在任何安装了 Java 运行时环境(JRE)的系统上运行,具有很高的可移植性。
  2. 易于分发:将应用程序打包为可执行 JAR 文件简化了分发过程,因为用户只需下载并运行该文件,无需复杂的安装过程。
  3. 依赖管理:可执行 JAR 文件可以在 JAR 文件中包含所有必要的依赖项,如图库和资源,确保自包含且可靠的部署。

可执行 JAR 文件的关键组件

可执行 JAR 文件由以下关键组件组成:

  1. Java 类文件:构成应用程序的已编译 Java 类文件。
  2. 库和依赖项:应用程序所需的任何外部库或依赖项。
  3. 清单文件:一个特殊文件,提供有关 JAR 文件的元数据,包括要执行的主类。
graph TD A[Java 类文件] --> B[库和依赖项] B --> C[清单文件] C --> D[可执行 JAR 文件]

清单文件结构

名为 MANIFEST.MF 的清单文件位于 JAR 文件的 META-INF 目录中。它包含一组键值对,描述 JAR 文件的内容和属性。可执行 JAR 文件最重要的条目是 Main-Class 属性,它指定要执行的主类的全限定名。

Manifest-Version: 1.0
Main-Class: com.labex.app.Main

创建可执行 JAR 文件

准备应用程序

  1. 确保你的 Java 应用程序结构合理,包含主类和所有必要的依赖项。
  2. 编译你的 Java 源代码以生成类文件。

创建清单文件

  1. 在项目的 META-INF 目录中创建一个名为 MANIFEST.MF 的新文件。
  2. 向清单文件中添加以下内容:
Manifest-Version: 1.0
Main-Class: com.labex.app.Main

com.labex.app.Main 替换为你应用程序主类的全限定名。

打包 JAR 文件

  1. 打开终端并导航到项目的根目录。
  2. 运行以下命令来创建可执行 JAR 文件:
jar cvfm app.jar MANIFEST.MF -C bin/.

此命令将在当前目录中创建一个名为 app.jar 的 JAR 文件,其中包含已编译的类文件和清单文件。

命令解析:

  • jar:Java 归档工具
  • c:创建新归档
  • v:详细输出
  • f:指定输出文件名(app.jar)
  • m:包含清单文件
  • -C bin/.:切换到 bin/ 目录并包含当前目录中的所有文件

验证可执行 JAR 文件

你可以使用以下命令验证 JAR 文件的内容:

jar tf app.jar

这将列出 JAR 文件中包含的所有文件和目录。

运行可执行 JAR 文件

运行可执行 JAR 文件

要运行可执行 JAR 文件,请执行以下步骤:

  1. 在你的 Ubuntu 22.04 系统上打开一个终端。
  2. 导航到可执行 JAR 文件所在的目录。
  3. 运行以下命令来执行 JAR 文件:
java -jar app.jar

app.jar 替换为你的可执行 JAR 文件的名称。

命令行参数

如果你的应用程序接受命令行参数,你可以在 java -jar 命令之后传递它们:

java -jar app.jar arg1 arg2 arg3

这些参数将被传递到你应用程序的主方法中。

故障排除

如果你在运行可执行 JAR 文件时遇到任何问题,可以尝试以下操作:

  1. 确保你的系统上安装了兼容的 Java 运行时环境(JRE)。
  2. 检查清单文件,以验证 Main-Class 条目是否正确,并且与你应用程序主类的全限定名匹配。
  3. 使用 jar tf app.jar 命令检查 JAR 文件的内容,以确保包含所有必要的文件。
  4. 查看你的应用程序的日志或控制台输出,以获取任何错误消息或有关问题的线索。

通过遵循这些步骤,你应该能够在你的 Ubuntu 22.04 系统上成功运行你的可执行 JAR 文件。

总结

在本 Java 教程中,你已经学会了如何创建和运行可执行 JAR 文件。通过理解将 Java 应用程序打包成自包含 JAR 文件的过程,你可以简化 Java 程序的部署和分发。对于想要将其应用程序无缝交付给最终用户或其他开发者的 Java 开发者来说,这项技能至关重要。