如何包装java
打包Java项目为JAR文件
使用Maven或Gradle构建工具可以轻松将Java项目打包为JAR文件。Maven在pom.xml中配置打包插件,Gradle在build.gradle中定义任务。
对于Maven项目,运行以下命令生成可执行JAR:
mvn clean package
生成的JAR文件默认位于target目录下。如需包含依赖,配置maven-assembly-plugin或maven-shade-plugin。
创建可执行JAR
在MANIFEST.MF中指定主类,使JAR可执行。Maven配置示例:
<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>
包含依赖库
使用maven-assembly-plugin创建包含所有依赖的fat JAR:

<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.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
使用Gradle打包
Gradle项目配置示例:
plugins {
id 'java'
id 'application'
}
mainClassName = 'com.example.Main'
jar {
manifest {
attributes 'Main-Class': mainClassName
}
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
运行gradle build后,JAR文件位于build/libs目录。
使用IDE打包
在Eclipse或IntelliJ IDEA中,可通过导出功能生成JAR:

- Eclipse:右键项目 > Export > Java > JAR file
- IntelliJ:File > Project Structure > Artifacts > Add JAR
创建Docker镜像
将Java应用容器化,创建Dockerfile:
FROM openjdk:11-jre-slim
COPY target/myapp.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
构建并运行镜像:
docker build -t myapp .
docker run -p 8080:8080 myapp
使用jlink创建自定义运行时
Java 9+支持创建精简的JRE:
jlink --module-path $JAVA_HOME/jmods --add-modules java.base,java.sql --output customjre






