程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 高性能服务器 - Nginx

  • 项目部署

    • 带你从0认识云服务器
    • Docker部署SpringBoot项目
    • 华为云部署前后端分离项目
    • 腾讯云服务器部署Hexo博客
    • 宝塔部署前后端分离项目
    • Spring Boot应用打包与部署
      • 一、构建项目
      • 二、部署Spring Boot应用
        • 1.直接运行Jar包
        • 2.在后台运行应用
        • 3.使用nohup命令在后台持久运行
        • 4.自定义日志输出文件
      • 三、管理和监控应用
        • 1.查看日志
        • 2.查找运行中的Java进程
        • 3.终止应用
    • 一键部署文件到远程服务器
    • Docker部署项目+环境安装
  • 服务器
  • 项目部署
scholar
2024-03-07
目录

Spring Boot应用打包与部署

# 一、构建项目

首先,确保你的Spring Boot项目已经正确构建,并生成了可执行的Jar包。如果您使用的是Maven或Gradle,可以在项目根目录下运行以下命令来构建项目:

对于Maven项目:

mvn clean package
1

对于Gradle项目:

./gradlew build
1

构建完成后,您将在target或build/libs目录下找到生成的Jar包,例如XXX.jar。

# 二、部署Spring Boot应用

以下介绍几种在Linux环境下运行和管理Spring Boot Jar包应用的方法:

# 1.直接运行Jar包

java -jar XXX.jar
1

此命令将在当前SSH会话中启动应用程序。如果您按CTRL + C或关闭窗口,应用程序将停止运行。

# 2.在后台运行应用

java -jar XXX.jar &
1

使用&可以在后台运行应用程序。但是,如果SSH会话关闭,应用程序也会停止。

# 3.使用nohup命令在后台持久运行

nohup java -jar XXX.jar &
1

nohup命令允许应用程序在SSH会话关闭后继续运行。默认情况下,输出会被重定向到nohup.out文件。

# 4.自定义日志输出文件

nohup java -jar XXX.jar > myapp.log 2>&1 &
1
  • > 是重定向符号,用于将命令的输出(默认为标准输出stdout)重定向到某个文件中。> myapp.log表示将应用的标准输出重定向到myapp.log文件。
  • 2>&1 表示将标准错误(stderr)也重定向到标准输出(stdout)当前指向的位置,即myapp.log文件。这是通过将文件描述符2(stderr)重定向到文件描述符1(stdout)来实现的。

这条命令将应用程序的标准输出和错误输出重定向到myapp.log文件,确保即使SSH会话关闭,应用程序的输出也可以被记录和检索。

# 三、管理和监控应用

# 1.查看日志

tail -f myapp.log
1

或

tail -f nohup.out
1

使用tail -f命令可以实时查看应用程序的日志输出。

# 2.查找运行中的Java进程

ps -ef | grep XXX.jar
1

或者

jps -l
1

这些命令可以帮助您找到正在运行的Java应用程序的进程ID(PID)。

# 3.终止应用

kill -9 PID
1

使用kill -9命令可以强制停止指定PID的应用进程。

以上便是本文的全部内容,本人才疏学浅,文章有什么错误的地方,欢迎大佬们批评指正!我是scholar,一个在互联网行业的小白,立志成为更好的自己。

如果你想了解更多关于scholar,可以关注公众号-书生带你学编程,后面文章会首先同步至公众号。

公众号封面

编辑此页 (opens new window)
上次更新: 2024/12/28, 18:32:08
宝塔部署前后端分离项目
一键部署文件到远程服务器

← 宝塔部署前后端分离项目 一键部署文件到远程服务器→

Theme by Vdoing | Copyright © 2019-2025 程序员scholar
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式