java程序如何打包成jar
使用命令行打包
在项目根目录下执行以下命令,将编译后的.class文件打包为JAR:
jar cvf YourJarName.jar *.class
若需指定主类,需先创建包含Main-Class信息的MANIFEST.MF文件:
Main-Class: com.example.MainClass
再执行:
jar cvfm YourJarName.jar MANIFEST.MF *.class
使用IDE打包(以Eclipse为例)
右击项目选择Export → Java → JAR file,勾选"Export generated class files and resources"。在JAR Packaging Options中可设置是否导出.class文件。若需可执行JAR,在Library Handling选择"Extract required libraries into generated JAR"。
使用Maven打包
在pom.xml中添加maven-jar-plugin配置:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
执行命令:
mvn package
使用Gradle打包
在build.gradle中添加配置:
jar {
manifest {
attributes 'Main-Class': 'com.example.MainClass'
}
}
执行命令:

gradle jar
验证JAR文件
打包完成后可通过以下命令验证:
java -jar YourJarName.jar
或查看内容:
jar tf YourJarName.jar
包含依赖的Fat JAR
对于需要包含第三方库的项目,Maven可使用maven-assembly-plugin:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
Gradle则使用shadow插件:
plugins {
id 'com.github.johnrengelman.shadow' version '7.1.2'
}
shadowJar {
mergeServiceFiles()
}






