SpringBoot项目如何打包部署到服务器
作者:想太多会累i
这篇文章主要介绍了SpringBoot项目如何打包部署到服务器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
SpringBoot项目打包部署到服务器
在项目的 application.yaml 文件中配置地址
server: port: 8081
同时注意 mysql 的 Driver 路径
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver # com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/vueblog?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC
username: root
password: 123456并且在pom.xml配置文件中配置打包环境
<!-- 打包 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.markhub.vueblog.VueblogApplication</mainClass>
</configuration>
<version>1.5.9.RELEASE</version>
</plugin>
</plugins>
</build>在这里自己踩过一坑,就是我使用的是阿里巴巴的 starter Service 的时候,用上面这个打包配置后运行jar包会出现 jar中没有主清单属性的问题 在这里呢如果使用的是阿里巴巴的 starter URL 路径下载spring boot工程的话
那么上面的代码修改成如下的代码:
<!-- 打包 -->
<build>
<plugins>
<!--<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.an.epidemic.EpidemicApplication</mainClass>
</configuration>
<version>1.5.9.RELEASE</version>
</plugin>-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.0.RELEASE</version> <!-- 这里是Spring Boot版本 -->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
在启动类当中加上extends SpringBootServletInitializer并重写configure方法
为打包做准备
package com.markhub.vueblog;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class VueblogApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(VueblogApplication.class, args);
}
// 打包 spring boot项目
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(this.getClass());
}
}运行maven打包工具

最后显示

使用命令运行 jar 包
进入文件中:

在这里打开 powerShell窗口运行指令
java -jar vueblog-0.0.1-SNAPSHOT.jar
启动项目
Linux系统一样

jar包在Linux后台运行
启动项目的配置如下代码:
java -jar vueblog-0.0.1-SNAPSHOT.jar
让jar包在后台运行方式
指令如下:
nohup java -jar vueblog-0.0.1-SNAPSHOT.jar >temp.txt &
运行效果如下:

表示运行成功
可以使用jobs指令查看后台运行的jar包(下图 [1] 表示编号)

使用指令 fg 编号 可以后台程序调到前台
ctrl + z把该程序挂至后台,该程序暂停
使用指令 bg 编号 可以将一个在后台暂停的程序,变成在后台继续执行
在前台我们可以通过Ctrl+C结束程序
在后台我们通过kill 编号 来结束
- 在Linux上查看jar包的进程指令:
ps -ef | grep java
找到我们需要关闭的进程:
- 执行杀死进程的指令:
kill -9 pid(4079) # 这里的id是 4079
执行完毕之后再去查看
发现这个进程已经杀死了。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
