ubuntu

ubuntu里java项目如何部署

小樊
33
2025-06-25 06:50:47
栏目: 编程语言

在Ubuntu上部署Java项目通常涉及以下几个步骤:

1. 安装Java环境

首先,确保你的Ubuntu系统上已经安装了Java运行环境。你可以使用以下命令安装OpenJDK 8:

sudo apt update
sudo apt install openjdk-8-jre
java -version

验证安装是否成功,输出应显示Java版本信息。

2. 构建Java项目

在项目的根目录下,使用Maven构建项目。这将生成一个可执行的JAR文件。例如,对于Spring Boot项目,使用以下命令:

cd /path/to/your/project
mvn clean package

构建完成后,你会在target目录下找到生成的JAR文件,例如springboot-demo.jar

3. 部署Java项目

将生成的JAR文件上传到你的Ubuntu服务器。你可以使用scp命令通过SSH将文件传输到服务器:

scp target/springboot-demo.jar username@your_server_ip:/path/to/deploy

4. 启动Java项目

在服务器上,使用以下命令启动Spring Boot应用:

java -jar /path/to/deploy/springboot-demo.jar > /path/to/deploy/log.txt 2>&1 &

这将以守护进程模式运行应用,并将日志输出到指定的log.txt文件中。

5. 配置反向代理(可选)

如果你有前端应用需要与后端Spring Boot应用通信,可以使用Nginx作为反向代理。

安装Nginx:

sudo apt install nginx

配置Nginx:

sudo nano /etc/nginx/conf.d/default.conf

配置示例:

server {
    listen 80;
    server_name localhost;
    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
    }
    location /api/ {
        proxy_pass http://localhost:8080;
    }
}

重启Nginx:

sudo systemctl reload nginx

6. 热部署(可选)

为了提高开发效率,可以使用热部署功能。Spring Boot提供了几种热部署方式,如Spring Boot Configuration方式、spring-boot-devtools或JRebel。

7. 自动化部署(可选)

你可以使用GitHub Actions等CI/CD工具实现自动化构建和部署。以下是一个简单的示例:

创建.github/workflows/deploy.yml文件,内容如下:

name: Deploy on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Setup JDK 17
      uses: actions/setup-java@v3
      with:
        java-version: '17'
        distribution: 'adopt'
    - name: Build with Maven
      run: mvn -b package --file pom.xml
    - name: Update dependency graph
      uses: advanced-security/maven-dependency-submission-action@v3
    - name: Delete files
      run: sshpass -p {{ secrets.host_user_password }} ssh -o stricthostkeycheckingno {{ vars.host_user_name }}@{{ vars.host }} "cd  && ls  /*  egrep -v storage  xargs rm -rf"
    - name: Upload files
      run: sshpass -p {{ secrets.host_user_password }} scp -r -o stricthostkeycheckingno ./target/springboot-demo.jar {{ vars.host_user_name }}@{{ vars.host }}:{{ vars.deploy_path }}
    - name: Run Java application
      run: sshpass -p {{ secrets.host_user_password }} ssh -o stricthostkeycheckingno {{ vars.host_user_name }}@{{ vars.host }} "cd  && /usr/bin/java -jar springboot-demo.jar"

通过以上步骤,你可以在Ubuntu上成功部署Java项目。根据具体需求,你还可以配置热部署和自动化部署,以提高开发效率。

0
看了该问题的人还看了