SpringBoot项目打包成jar后,启动脚本

本文介绍如何通过创建shell脚本来简化SpringBoot项目的部署流程,包括启动、关闭和重启操作,实现自动化部署,提高效率。

将springboot项目打包成jar后,上传至服务器,每次都需要手敲命令,重新部署项目,可将这些命令写入脚本中,直接运行。

启动脚本(start.sh):

CUR_PATH=$(cd "$(dirname "$0")"; pwd)
echo "Current path: ${CUR_PATH}"
/usr/lib/java-1.8.0/jdk1.8.0_161/bin/java -jar ${CUR_PATH}/***.jar

代码中的标红部分,为指定JDK启动(服务器中环境变量配置的JDK为7,项目是基于springboot2.0的,对JDK要求8.0+),标红部分,可直接用java代替。

***是自己的项目名称。

这种启动方式是当前窗口运行,退出当前窗口的话,就会停止运行。如果想后台运行,直接在代码最后加上&

关闭脚本(stop.sh):

PID=$(ps -ef | grep ***.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then

    echo Application is already stopped
else

    echo kill $PID

    kill $PID
fi

重启脚本(restart.sh):

echo stop application

source stop.sh

echo start application

source start.sh

最后,强调一句,别忘了给新建的.sh文件执行权限

转载于:https://www.cnblogs.com/Darlin356230410/p/9564572.html

<think>我们正在处理用户的问题:"我想将SpringBoot项目构建为可执行的JAR文件请问howto packagea SpringBoot projectinto anexecutable jar"根据系统指令,我们需要:1.使用中文回答2.行内数学表达式用$...$,独立公式用$$...$$3.生相关问题4.回答结构清晰,逐步解决问题5.引用标识:在引用的段落末尾自然地添加引用标识注意:用户提供的引用内容是关于Spring Boot的,但用户的问题是关于打包可执行JAR的,所以我们需要从这些引用中提取相关信息。分析引用内容:引用[1]提到可以通过Spring Initializr创建项目,并下载Maven构建文件或zip项目。引用[2]提到SpringBoot提供了作为Web存档部署在外部容器中的选项,但这我们关注可执行JAR。引用[3]列出了常用的starter依赖,这些依赖在构建JAR会被包含。引用[4]提到了配置文件编码问题,虽然与打包不直接相关,但说明配置文件的处理。然而,用户的问题是如何打包为可执行JAR。实际上,SpringBoot默认就是打包为可执行JAR的,使用Maven或Gradle构建。因此,回答步骤:1.说明使用Maven构建(因为引用中提到了Maven)2.说明使用Gradle构建(可选,因为用户没有指定构建工具)3.解释Maven的配置(因为引用[1]提到了Maven buildfile)具体步骤:-使用Maven,在pom.xml中设置打包方式为jar,并添加SpringBoot Maven插件。 -然后运行Maven命令进行打包。同,根据引用[3],我们可能需要添加相应的starter依赖。另外,引用[1]提到了SpringInitializr,我们可以建议用户如果还没有项目,可以通过Initializr生。由于用户已经有一个SpringBoot项目,我们假设他需要的是打包步骤。回答结构:1.介绍SpringBoot默认支持可执行JAR2.使用Maven打包的步骤3.使用Gradle打包的步骤(简要)4.运行JAR文件的方法5.注意事项(如引用[4]提到的配置文件问题,虽然不直接相关,但可以提一下配置文件的位置)生相关问题:1.如何自定义Spring Boot可执行JAR启动?2.如何将SpringBoot应用打包为WAR文件?3.如何配置SpringBoot应用的启动参数?注意:引用标识的使用,我们在回答中如果引用了给定的引用内容,就在句子末尾加上[^n]。但是,我们的回答主要基于通用知识,不过我们可以尝试将引用内容融入:例如:引用[1]提到可以通过Spring Initializr创建项目,那么我们可以说:如果你还没有创建项目,可以使用SpringInitializr生一个基础项目[^1]。但是,用户的问题是打包,所以重点在构建。我们可以在介绍Initializr引用[^1],在提到starter依赖引用[^3],在提到配置文件引用[^4]。具体回答:</think>### 如何将 Spring Boot 项目打包为可执行 JAR 文件 Spring Boot 默认支持将项目打包为可执行 JAR(包含嵌入式服务器),以下是详细步骤: #### 一、Maven 项目打包步骤 1. **确认打包配置** 在 `pom.xml` 中确保: ```xml <packaging>jar</packaging> <!-- 默认即为 jar --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!-- 核心插件 --> </plugin> </plugins> </build> ``` 此插件会生包含依赖的可执行 JAR[^3]。 2. **执行打包命令** 在项目根目录运行: ```bash mvn clean package ``` 生JAR 位于 `target/` 目录,命名格式为 `{项目名}-{版本}.jar`。 3. **运行 JAR 文件** ```bash java -jar target/your-project-0.0.1-SNAPSHOT.jar ``` #### 二、Gradle 项目打包步骤 1. **确认插件配置** 在 `build.gradle` 中启用插件: ```groovy plugins { id 'org.springframework.boot' version '3.x.x' id 'io.spring.dependency-management' version '1.x.x' id 'java' } jar { enabled = true // 启用JAR打包 } ``` 2. **执行打包命令** ```bash ./gradlew bootJar ``` 生JAR 位于 `build/libs/` 目录。 #### 三、关键注意事项 1. **配置文件处理** - `application.properties` 或 `application.yml` 会自动打包JAR[^4] - 外部配置文件可通过 `--spring.config.location` 参数指定: ```bash java -jar app.jar --spring.config.location=file:/path/to/config/ ``` 2. **依赖管理** 确保使用 Spring Boot starter 依赖(如 `spring-boot-starter-web`)以自动处理依赖冲突[^3]。 3. **验证 JAR 结构** 可执行 JAR 应包含: - `BOOT-INF/classes`:项目编译文件 - `BOOT-INF/lib`:所有依赖库 - `META-INF/MANIFEST.MF`:指定 `Main-Class` 为 `org.springframework.boot.loader.JarLauncher` > **提示**:若需自定义 JAR 内容,可通过 `<executable>true</executable>` 配置生完全可执行脚本(支持 Linux Systemd)[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值