如何 java 生成 jar

如何 java 生成 jar

作者:Elara发布时间:2026-02-04阅读时长:0 分钟阅读次数:2

用户关注问题

Q
如何使用命令行工具打包 Java 程序为 JAR 文件?

我有一个用 Java 编写的程序,想要将它打包成一个 JAR 文件,方便运行和分发。应该怎样在命令行使用相关工具进行打包?

A

使用 javac 编译和 jar 命令打包程序

先使用 javac 命令将所有的 .java 文件编译成字节码文件(.class),比如:javac *.java。编译完成后,使用 jar 命令将这些 .class 文件打包成一个 JAR 文件,格式通常是:jar cf myapp.jar *.class,其中参数 cf 表示创建新文件和指定文件名。

Q
在生成的 JAR 文件中如何指定程序的入口点?

我想确保打包成的 JAR 文件可以通过 java -jar 命令直接运行,需要让 JAR 文件知道程序的主类是哪一个,应该怎么操作?

A

通过修改 MANIFEST.MF 文件指定主类

需要在 JAR 文件的清单文件 MANIFEST.MF 中添加 Main-Class 属性,指明程序的主类。可以创建一个文本文件例如 manifest.txt,内容如下:
Main-Class: com.example.MainClass
然后在打包时带上该清单文件:jar cfm myapp.jar manifest.txt *.class。这会让 JVM 知道从哪个类的 main 方法开始执行。

Q
怎样在使用构建工具比如 Maven 或 Gradle 来生成 JAR 文件?

如果项目使用了 Maven 或 Gradle 这些构建工具,如何配置生成可运行的 JAR 文件?

A

Maven 和 Gradle 配置示例

Maven 需要在 pom.xml 中配置 maven-jar-plugin 或 maven-shade-plugin 指定主类,并执行 mvn package 来打包。Gradle 则可以在 build.gradle 中的 jar 任务里设置 manifest 的 Main-Class 属性,然后运行 gradle build。构建工具能够自动处理依赖并生成标准的 JAR 文件。