手把手教你用命令行创建可执行 JAR 文件
2024-03-18 13:40:00
从命令行创建可执行 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 程序的分发和执行。如果你遇到任何问题,请参阅上面列出的常见问题解答或寻求在线帮助。