Java项目jar包部署全流程教程

一、环境准备与前置检查

在开始部署前,需确保开发环境和目标服务器满足以下条件:

  • JDK环境配置:服务器需安装JDK 1.8或更高版本,通过`java -version`验证安装状态
  • 网络与安全组:放通服务器SSH(22端口)与应用服务端口(如8080、8099)
  • 防火墙管理:临时关闭使用`systemctl stop firewalld`,永久关闭需额外执行`systemctl disable firewalld`
  • SELinux状态:运行`getenforce`检查,若为Enforcing状态需关闭以避免权限冲突

二、JAR包打包方法与实操

1. 使用IntelliJ IDEA打包

  • 通过File > Project Structure > Artifacts进入配置界面
  • 选择JAR > From modules with dependencies,指定主类(如com.example.MainClass)
  • 构建完成后,JAR文件将生成在out/artifacts/目录

2. Maven项目打包配置

在pom.xml中配置Spring Boot Maven插件:

xml

org.springframework.boot
spring-boot-maven-plugin

com.xxx.Application

执行打包命令:mvn clean package -Dmaven.test.skip=true

3. 手动构建MANIFEST.MF

对于非标准项目,需创建包含主类声明的描述文件:

Manifest-Version: 1.0
Main-Class: com.lzw.MainFrame
Class-Path: lib/dependency1.jar lib/dependency2.jar

注意每个键值对后的空格和结尾空行

三、服务器部署实战

1. 基础部署命令

  • 使用SCP上传文件:scp target/xx.jar .1.1:/opt/apps/
  • 启动应用:nohup java -jar -Dserver.port=8099 xx.jar &
  • 端口验证:通过netstat -tulnp | grep 8099检查服务状态

2. 生产环境运维脚本

启动脚本(start.sh)

bash
#!/bin/bash
nohup java -jar /opt/apps/xx.jar > /var/log/app.log 2>&1 &
echo $! > /var/run/app.pid

停止脚本(stop.sh)

bash
#!/bin/bash
kill -9 `cat /var/run/app.pid`

3. Nginx反向代理配置

通过Nginx实现域名访问和安全隔离:

nginx
server {
listen 80;
server_name www.;
location / {
proxy_pass

四、部署验证与故障排查

  • 日志监控:使用tail -f /var/log/app.log实时跟踪应用状态
  • 进程检查:通过ps aux | grep java确认JVM进程存活
  • 端口占用检测:运行lsof -i:8099验证端口绑定情况

五、运维优化建议

  • 使用systemd服务管理应用生命周期,实现开机自启
  • 配置日志轮转(logrotate)避免磁盘空间耗尽
  • 通过HTTPS证书提升传输安全性,各大云平台均提供证书服务

部署福利提示:在选购阿里云等云平台产品前,建议先通过云小站平台领取满减代金券,可显著降低云服务器、容器服务等基础设施的采购成本。

内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。

本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/15167.html

(0)
上一篇 2025年11月4日 上午5:18
下一篇 2025年11月4日 上午5:19
联系我们
关注微信
关注微信
分享本页
返回顶部