1引言
在现代应用开发中,高效的打包和部署流程对于项目的开发、测试和上线至关重要。Spring Boot作为一种快速开发框架,提供了方便的打包工具和内嵌式的Web服务器,使得打包和运行变得更加简单。
本文将研究在Spring Boot应用中如何进行打包,帮助开发者构建高效的部署流程。
2打包Spring Boot 应用
Spring Boot 提供了多种方式来打包应用,常见的有 Maven 插件和 Gradle 插件。以下以 Maven 为例:
Maven 插件
在项目的 pom.xml 文件中,添加 Maven 插件配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
通过执行以下命令进行打包:
mvn clean package
打包完成后,会在 target 目录下生成可执行的 JAR 文件。

3运行Spring Boot 应用
Spring Boot 应用可以通过多种方式运行,包括使用内嵌的 Web 服务器、作为 WAR 文件部署到外部 Servlet 容器等。
使用内嵌的 Web 服务器
执行以下命令运行应用:
java -jar your-application.jar
//或
java –jar your-application.jar --server.port=80
//或
java –jar springboot.jar –-server.port=80 --logging.level.root=debug

这将启动嵌入式的 Tomcat 服务器,并运行 Spring Boot 应用。

外部 Servlet 容器
如果希望将应用部署到外部 Servlet 容器,需要将应用打包为 WAR 文件。在 pom.xml 中添加以下配置:
<packaging>jar</packaging>
//修改为
<packaging>war</packaging>
引入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 去除内嵌tomcat -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--添加servlet的依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
添加启动类
如果是 war 包发布,需要增加 SpringBootServletInitializer
⼦类,并重写其 configure⽅法,或者将 main 函数所在的类继承 SpringBootServletInitializer
, 并重写configure ⽅法
当时打包为 war 时上传到 tomcat 服务器中访问项⽬始终报 404 错就是忽略了这个步骤!!!
@SpringBootApplication
public class JavaToJarAdmin extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(JavaToJarAdmin.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(JavaToJarAdmin.class);
}
}
然后执行 Maven 命令进行打包:
mvn clean package
打包完成后,会在 target 目录下生成可执行的 WAR文件。

使⽤外部 Tomcat 运⾏该 war ⽂件(把 war ⽂件直接丢到 tomcat 的 webapps⽬录)

启动tomcat

访问http://localhost:8080/war包名/
http://localhost:8080/JavaToJar-1.0-SNAPSHOT/

注意:
将项⽬打成 war 包,部署到外部的 tomcat 中,这个时候,不能直接访问 spring boot 项⽬中配置⽂件配置的端⼝。
application.yml 中配置的 server.port 配置的 是spring boot 内置的 tomcat 的端⼝号,打成 war 包部署在独⽴的 tomcat 上之后,配置的server.port 是不起作⽤的。⼀定要注意这⼀点。
4结语
通过本文的介绍,你学会了如何使用 Maven 插件打包 Spring Boot 应用,灵活的打包和部署。结合内嵌的 Web 服务器和外部 Servlet 容器,将有助于构建一个稳定可靠的部署流程,提高开发和运维效率。
感谢阅读,希望对你有所帮助 :) 来源:
blog.csdn.net/m0_53127626/article/details/135696635
后端专属技术群 构建高质量的技术交流社群,欢迎从事编程开发、技术招聘HR进群,也欢迎大家分享自己公司的内推信息,相互帮助,一起进步!
文明发言,以
交流技术
、职位内推
、行业探讨
为主广告人士勿入,切勿轻信私聊,防止被骗
加我好友,拉你进群
原文始发于微信公众号(Java知音):SpringBoot 程序的打包与运行:构建高效部署流程
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/203233.html