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
执行完毕之后再去查看
发现这个进程已经杀死了。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。