服务器部署java项目需要什么依赖?

在服务器上部署 Java 项目,需要根据项目的具体类型(如 Spring Boot、普通 Java Web 应用等)和运行方式(如使用 Tomcat、Jetty、内嵌容器、Docker 等)来决定所需的依赖。以下是一个通用的指南,适用于大多数 Java Web 项目(尤其是 Spring Boot 项目)。


🧩 一、基础环境依赖

1. Java 运行环境

  • 安装 JDKJRE(推荐安装 JDK)
  • 版本需与你的项目兼容:
    • Spring Boot 2.x 通常使用 Java 8~17
    • Spring Boot 3.x 需要 Java 17 及以上
# 查看 Java 是否已安装
java -version

如果未安装:

Ubuntu/Debian:

sudo apt update
sudo apt install openjdk-17-jdk

CentOS/RHEL:

sudo yum install java-17-openjdk-devel

📦 二、构建工具依赖(可选)

如果你是通过源码打包部署(如从 Git 拉取代码并编译),你需要以下工具:

1. Maven

sudo apt install maven   # Debian/Ubuntu
sudo yum install maven   # CentOS

2. Gradle

sudo snap install gradle --classic

⚙️ 三、运行时依赖(视项目而定)

1. 数据库驱动

如果你的项目连接了数据库,需要安装对应的驱动(一般项目会自带,但某些情况可能需要手动添加):

数据库 依赖包
MySQL mysql-connector-java
PostgreSQL postgresql
Oracle ojdbc8.jar(需手动下载)

2. 消息中间件

如果项目中使用了 Kafka、RabbitMQ、Redis 等,需要确保这些服务已安装或可用。


🏢 四、Web 服务器 / 容器依赖

1. Tomcat(传统 WAR 包部署)

  • 下载地址:https://tomcat.apache.org/
  • 部署 .war 文件到 webapps 目录下
  • 启动脚本:bin/startup.sh

注意:Spring Boot 项目默认是内嵌 Tomcat 的 jar 包,除非你配置为 war 包部署。

2. Nginx(反向 / 静态资源)

sudo apt install nginx    # Debian/Ubuntu
sudo yum install nginx    # CentOS

3. 其他容器

  • Jetty
  • Undertow(常用于 Spring Boot)

🐳 五、Docker 部署(可选)

如果你使用 Docker 来部署 Java 项目:

sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

然后你可以构建镜像或运行现成镜像:

docker build -t myapp .
docker run -d -p 8080:8080 myapp

🔐 六、防火墙与端口开放

确保你的服务器开放了对应端口(如 8080、80、443):

sudo ufw allow 8080/tcp

或者使用 firewalld(CentOS):

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

🧪 七、系统服务管理(可选)

可以将你的 Java 应用注册为系统服务(systemd),便于管理启动、停止、开机自启。

示例:创建 /etc/systemd/system/myapp.service

[Unit]
Description=My Spring Boot App

[Service]
User=ubuntu
ExecStart=/usr/bin/java -jar /home/ubuntu/app.jar
SuccessExitStatus=143
StandardOutput=file:/var/log/myapp.log
StandardError=file:/var/log/myapp.err

[Install]
WantedBy=multi-user.target

然后启用服务:

sudo systemctl daemon-reexec
sudo systemctl enable myapp
sudo systemctl start myapp

✅ 总结:部署一个典型 Spring Boot 项目所需依赖

类型 内容
Java 环境 JDK 8~17
构建工具 Maven / Gradle(开发阶段)
数据库驱动 mysql-connector-java(或其他)
容器 Tomcat(WAR 包)或直接运行 jar(内嵌容器)
服务器工具 Nginx、systemd、防火墙配置
Docker 如果使用容器化部署

如果你提供具体的项目类型(比如是否是 Spring Boot、是否打成 jar/war、是否使用数据库等),我可以给出更精确的依赖清单。欢迎补充!

未经允许不得转载:CLOUD技术博 » 服务器部署java项目需要什么依赖?