返回

手把手教你用命令行创建可执行 JAR 文件

Linux

从命令行创建可执行 JAR 文件:一步一步的指南

简介

可执行 JAR 文件是一种方便的方法,可将 Java 程序打包成可从命令行直接运行的单一文件。本指南将带你一步一步地创建可执行 JAR 文件,从编写 Java 类到执行 JAR 文件。

1. 编写 Java 类

首先,你需要创建一个 Java 类文件,该文件将包含程序的代码。该文件应该遵循 Java 约定并包含一个名为 main 的静态方法,该方法将作为程序的入口点。

例如,我们创建一个名为 HelloWorld.java 的类:

package com.example;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

2. 编译 Java 类

完成编写 Java 类后,你需要使用 javac 命令对其进行编译,该命令将 Java 代码转换为 Java 字节码。

javac HelloWorld.java

这将在当前目录中生成一个 HelloWorld.class 文件。

3. 创建 JAR 文件

接下来,使用 jar 命令创建一个包含编译后 Java 类的 JAR 文件。

jar cvfe helloWorld.jar com.example.HelloWorld.class

其中:

  • cvf:表示创建新 JAR 文件并向其中添加文件。
  • e:指定将文件作为可执行文件包含在 JAR 文件中。
  • helloWorld.jar:JAR 文件的名称。
  • com.example.HelloWorld.class:要包含在 JAR 文件中的主类。

4. 执行 JAR 文件

现在,你的可执行 JAR 文件已创建完毕,你可以使用 java -jar 命令执行它:

java -jar helloWorld.jar

这将打印 "Hello World" 消息。

常见问题解答

1. 我在执行 JAR 文件时收到 ClassNotFoundException 错误。

这通常表示主类未正确包含在 JAR 文件中。确保主类具有正确的包名称和名称,并且它已编译并包含在 JAR 文件中。

2. 我尝试使用 -jar 选项运行 JAR 文件,但它不起作用。

确保你使用的是 Java Runtime Environment (JRE) 而不是 Java Development Kit (JDK)。JRE 包含运行 Java 程序所需的最低组件,而 JDK 包含开发和编译 Java 程序所需的所有组件。

3. 我想包含 JAR 文件中的其他文件。

可以使用 -C 选项将其他文件和目录添加到 JAR 文件中。例如:

jar cvfe helloWorld.jar com.example.HelloWorld.class -C resources .

4. 我如何设置 JAR 文件中的主类?

可以通过在 JAR 文件的 MANIFEST.MF 文件中设置 Main-Class 属性来设置主类。该文件可以通过使用 -m 选项显式创建:

jar cvfm helloWorld.jar MANIFEST.MF com.example.HelloWorld.class

5. 我如何让 JAR 文件成为跨平台的?

要创建跨平台 JAR 文件,可以使用 JLink 工具,该工具会生成一个包含本机依赖项的瘦 JAR 文件。

结论

遵循本指南中的步骤,你就可以轻松地创建可执行 JAR 文件,从而简化你的 Java 程序的分发和执行。如果你遇到任何问题,请参阅上面列出的常见问题解答或寻求在线帮助。