java 如何打包jar文件
使用 Maven 打包 JAR 文件
在 Maven 项目中,通过 mvn package 命令自动生成 JAR 文件。确保 pom.xml 中包含以下插件配置(以生成可执行 JAR 为例):
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
执行命令后,JAR 文件会生成在 target/ 目录下。
使用 Gradle 打包 JAR 文件
在 Gradle 项目中,通过 gradle jar 命令生成 JAR 文件。需在 build.gradle 中配置主类信息:
jar {
manifest {
attributes 'Main-Class': 'com.example.MainClass'
}
}
生成的 JAR 文件位于 build/libs/ 目录。

手动打包 JAR 文件
对于无构建工具的项目,可通过 jar 命令手动打包:
- 编译所有 Java 文件:
javac -d ./classes *.java - 创建包含主类的清单文件
MANIFEST.MF:Manifest-Version: 1.0 Main-Class: com.example.MainClass - 执行打包命令:
jar cvfm app.jar MANIFEST.MF -C classes/ .生成的
app.jar可直接运行。
生成可执行 JAR 与依赖分离
若需将依赖库分离到 lib/ 目录,Maven 可配置 maven-assembly-plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
运行 mvn assembly:single 生成包含依赖的 FAT JAR。
验证 JAR 文件内容
检查 JAR 文件结构或清单信息:
jar tf app.jar # 查看文件列表
jar xf app.jar META-INF/MANIFEST.MF # 提取清单文件






