在当今快速发展的软件开发领域中,SpringBoot以其简洁、高效和易于上手的特点,成为了众多开发者构建Java应用的首选框架。然而,一个完整的软件开发周期不仅包括编码实现,还涵盖了项目的打包与部署。对于初学者而言,如何将SpringBoot项目顺利打包并部署到服务器上,往往是一个既关键又充满挑战的步骤。本文将以图文结合的方式,详细阐述SpringBoot项目打包部署的全过程,从配置数据库连接到打包项目,再到在服务器上运行项目,每一步都将配以直观的图示和详细的说明,旨在帮助读者轻松掌握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
执行完毕之后再去查看
发现这个进程已经杀死了。
总结
通过本文的图文详解,我们系统地学习了SpringBoot项目打包部署的完整流程。从最初的数据库配置,到pom.xml文件的打包环境设置,再到解决特定starter的打包问题,每一个细节都至关重要。我们掌握了在Windows和Linux系统上运行打包好的jar文件的方法,并深入了解了如何在Linux后台管理jar进程。这些技能不仅提升了我们的项目部署能力,更为我们日后的软件开发工作提供了极大的便利。希望本文能够成为你SpringBoot项目打包部署之路上的得力助手,助力你在软件开发领域取得更加辉煌的成就。
本文来源于#想太多会累i,由@蜜芽 整理发布。如若内容造成侵权/违法违规/事实不符,请联系本站客服处理!
该文章观点仅代表作者本人,不代表本站立场。本站不承担相关法律责任。
如若转载,请注明出处:https://www.zhanid.com/biancheng/3684.html