Java项目打包部署核心是生成含依赖、配置和启动逻辑的可执行包,Spring Boot推荐fat jar,传统Web应用用WAR,微服务可结合Docker;需通过Maven/Gradle插件构建,外部化配置,Linux下用nohup或systemd部署。
Java项目打包成可部署到服务器的形式,核心是生成一个包含所有依赖、配置和启动逻辑的可执行包,主流方式是使用Maven或Gradle构建工具配合插件(如maven-jar-plugin、spring-boot-maven-plugin)生成JAR或WAR文件。
先确认你的项目是否基于Spring Boot,还是传统Servlet Web应用:
java -jar xxx.jar运行,适合Linux服务器快速部署
Web项目(如基于Servlet/JSP):打成WAR包,部署到外部Tomcat、Jetty等容器中在pom.xml中确保已引入spring-boot-maven-plugin,并启用repackage目标:
org.springframework.boot spring-boot-maven-plugincom.example.MyApplication repackage
执行mvn clean package后,会在target/目录下生成一个可直接运行的JAR文件(名字类似myapp-1.0.0.jar)。
不要把数据库地址、密码等敏感配置写死在代码或JAR包内:
application.properties或application.yml放在JAR同级目录,Spring Boot会自动优先加载--spring.config.location=file:./config/指定外部配置路径spring.profiles.active=prod激活对应配置,并配合环境变量或启动参数传入关键值(如-Dspring.datasource.password=xxx)假设你已通过FTP或scp上传了JAR包(如app.jar)到服务器/opt/myapp/目录:
java -version验证chmod +x app.jar
nohup java -jar app.jar --spring.profiles.active=prod > app.log 2>&1 &
ps -ef | grep app.jar;查看实时日志:tail -f app.log
更稳定的方案可用systemd写个服务单元文件,实现开机自启、崩溃重启等能力。
基本上就这些。打包本身不复杂,关键是理清依赖、配置分离和运行环境适配三个环节。