阿里巴巴网官方网站,wordpress查看文章模板,门户网站制作企业,使用编辑字母做免费网站简介
一般情况下#xff0c;在SpringBoot项目开发完成进行服务器部署时#xff0c;都是打成JAR包进行部署运行的。但是在有些情况下也需要将其打成War包使用Tomcat进行部署。本篇文章就简单介绍一下SpringBoot如何打成War包。 注意#xff1a; 测试Demo的SpringBoot版本为2…简介
一般情况下在SpringBoot项目开发完成进行服务器部署时都是打成JAR包进行部署运行的。但是在有些情况下也需要将其打成War包使用Tomcat进行部署。本篇文章就简单介绍一下SpringBoot如何打成War包。 注意 测试Demo的SpringBoot版本为2.7.17根据SpringBoot官网对应的Servlet容器版本如下图所示 因此部署War包时请注意使用Tomcat9.0版本
操作步骤
1、修改pom文件
首先要将SpringBoot项目打成War包我们要在pom文件中添加如下配置以标识要将项目打成War包
packagingwar/packaging如下图所示 接下来我们需要配置最终打成的War的名称该配置需要在pom文件中build标签中添加如下配置项
build# 或者直接改成需要的名称finalName${artifactId}/finalName
/build如果不配置这一项包的名称会带有版本号而且会比较长因此还是推荐进行此项配置。
然后就是在pom文件中添加Tomcat的依赖项如下所示
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactId!-- scope 各配置简单介绍1.test范围是指测试范围有效,在编译和打包时都不会使用这个依赖2.compile范围是指编译范围内有效,在编译和打包时都会将依赖存储进去3.provided依赖,在编译和测试过程中有效,最后生成的war包时不会加入 例如:servlet-api,因为servlet-api在tomcat服务器已经存在了,如果再打包会冲突4.runtime在运行时候依赖,在编译时候不依赖5.system表示此依赖来自于外部jar, 而不是maven仓库如果引入依赖未指定默认依赖范围是compile--scopeprovided/scope
/dependency以上配置完成后pom文件的修改就算完成。
2、配置SpringBootServletInitializer
修改SpringBoot项目的启动类使其继承 SpringBootServletInitializer
SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {public static void main(String[] args) {SpringApplication.run(DuanlinApplication.class, args);}
}也可以继承之后重写 configure方法如下所示不过根据我的测试该方法是否重写并不影响最终效果。
SpringBootApplication
public class PartyLeaderPlatformApplication extends SpringBootServletInitializer {public static void main(String[] args) {SpringApplication.run(PartyLeaderPlatformApplication.class, args);}Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(PartyLeaderPlatformApplication.class);}
}修改完成之后就可以使用Maven进行打包了可以使用Maven命令打包当然也可以使用Idea的Maven面板直接打包如下图所示 命令执行完毕之后即可在target目录下看到项目打成War包。此时将War包放入到Tomcat的webapps目录下启动Tomcat即可。