java 软件如何打包
打包 Java 软件的方法
使用 JAR 文件打包
Java 应用程序通常打包为 JAR(Java Archive)文件。通过 jar 命令或构建工具(如 Maven、Gradle)可以创建 JAR 文件。
命令行方式:
jar cvf MyApp.jar *.class
若包含主类,需在 MANIFEST.MF 中指定:
Main-Class: com.example.Main
然后打包:
jar cvfm MyApp.jar MANIFEST.MF *.class
使用 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.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
运行命令生成 JAR:
mvn package
使用 Gradle 打包
在 build.gradle 中配置:
plugins {
id 'java'
}
jar {
manifest {
attributes 'Main-Class': 'com.example.Main'
}
}
运行命令生成 JAR:
gradle jar
打包依赖库
若项目依赖第三方库,需将依赖一并打包:
- Maven:使用
maven-assembly-plugin生成包含依赖的 JAR。 - Gradle:通过
shadow插件(或fatJar任务)打包依赖。
示例(Gradle):
plugins {
id 'com.github.johnrengelman.shadow' version '7.1.2'
}
shadowJar {
archiveBaseName.set('MyApp')
archiveClassifier.set('')
archiveVersion.set('')
}
运行:
gradle shadowJar
生成可执行文件
通过工具将 JAR 转换为平台特定可执行文件:
- Windows:使用
launch4j或jpackage(JDK 14+)。 - Linux/macOS:通过
jpackage生成原生安装包。
示例(jpackage):

jpackage --input target/ --name MyApp --main-jar MyApp.jar --main-class com.example.Main
注意事项
- 确保
MANIFEST.MF的路径和主类名正确。 - 检查依赖是否完整,避免运行时缺失类。
- 跨平台分发时,注明所需的 JRE 版本。






