java文件如何打包
Java 文件打包方法
使用 jar 命令打包
Java 文件可以通过 jar 命令打包成 JAR(Java Archive)文件。JAR 文件是 Java 的标准打包格式,通常用于分发库或应用程序。
-
编译 Java 文件生成
.class文件:javac YourFile.java -
使用
jar命令打包.class文件:jar cvf YourJarFile.jar YourFile.classc:创建新的 JAR 文件v:显示详细输出f:指定 JAR 文件名
-
如果包含多个文件或目录:
jar cvf YourJarFile.jar *
使用 Maven 打包
如果项目使用 Maven 管理,可以通过以下方式打包:
-
在项目根目录执行以下命令:
mvn package- 生成的 JAR 文件会保存在
target/目录下。
- 生成的 JAR 文件会保存在
-
如果需要打包为可执行 JAR,确保
pom.xml中配置了maven-jar-plugin或maven-shade-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>
使用 Gradle 打包
如果项目使用 Gradle 管理,可以通过以下方式打包:
-
在项目根目录执行以下命令:
gradle build- 生成的 JAR 文件会保存在
build/libs/目录下。
- 生成的 JAR 文件会保存在
-
配置
build.gradle文件以生成可执行 JAR:plugins { id 'java' id 'application' } mainClassName = 'com.example.MainClass' jar { manifest { attributes 'Main-Class': mainClassName } }
生成可执行 JAR
如果需要生成可执行的 JAR 文件,确保 MANIFEST.MF 文件中指定了主类:
-
创建 MANIFEST.MF 文件:
Main-Class: com.example.MainClass -
打包时包含 MANIFEST.MF:
jar cvfm YourJarFile.jar MANIFEST.MF com/example/*.class
打包依赖库
如果项目依赖外部库,可以将依赖库打包到 JAR 中:
-
使用
maven-shade-plugin(Maven):<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> -
使用
shadowJar(Gradle):plugins { id 'com.github.johnrengelman.shadow' version '7.1.2' } shadowJar { archiveBaseName.set('YourJarFile') archiveClassifier.set('') archiveVersion.set('') }
打包为 WAR 文件(Web 应用)
如果开发的是 Web 应用,可以打包为 WAR 文件:
-
Maven 项目:
mvn package- 确保
pom.xml中<packaging>设置为war。
- 确保
-
Gradle 项目:

gradle war- 确保
build.gradle中应用了war插件:plugins { id 'war' }
- 确保
以上方法涵盖了从简单 JAR 打包到复杂项目打包的需求,可以根据具体场景选择适合的方式。






