在 Java 里“打包”通常指把代码编译成可分发的形式,常见有几种方式,取决于你用的构建工具和运行方式。下面按常见场景给你总结。
mvn clean package
生成位置:
target/xxx.jar
如果是普通 JAR(不含依赖):
<packaging>jar</packaging>
使用 spring-boot-maven-plugin(Spring Boot):
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
mvn clean package
java -jar target/xxx.jar
非 Spring Boot 可用 maven-shade-plugin 或 maven-assembly-plugin。
<packaging>war</packaging>
mvn clean package
生成:
target/xxx.war
部署到 Tomcat 等容器。
gradle build
输出:
build/libs/xxx.jar
plugins {
id 'application'
}
mainClassName = 'com.xxx.Main'
gradle build
java -jar build/libs/xxx.jar
适合桌面程序,可生成 exe / dmg / deb。
jpackage \
--name MyApp \
--input target/libs \
--main-jar myapp.jar \
--main-class com.xxx.Main
支持:
.exe.dmg.deb / .rpm如果你说的是 Java Module(module-info.java):
javac -d out --module-source-path src $(find src -name "*.java")
jar --create --file mlib/com.example.jar -C out/com.example .
java --module-path mlib --module com.example/com.example.Main
| 场景 | 推荐方式 |
|---|---|
| 普通 Java 程序 | Maven / Gradle → JAR |
| Spring Boot | executable JAR |
| Web 项目 | WAR |
| 桌面程序 | jpackage |
| Java 9+ 模块 | JPMS + JAR |
如果你能告诉我:
我可以给你精确到命令和配置文件的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。