cosmo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  194 随笔 :: 0 文章 :: 31 评论 :: 197万 阅读

Spring Boot 支持发布jar包和war包,它推荐的是使用jar形式发布

  使用jar包比较方便,但如果是频繁修改更新的项目,需要打补丁包,那这么大的jar包上传都是问题

  jar包不一定合适适用所有的场景,如war包更合适,可以尝试转为传统的war包,这样打补丁包可能更方便

1.修改Spring Boot启动类:启动类继承 SpringBootServletInitializer类,并覆盖 configure方法

复制代码
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
       return application.sources(Application.class);
   }
   public static void main(String[] args) throws Exception {
       SpringApplication.run(Application.class, args);
   }
}
复制代码

2.修改jar为war包

#在pom中添加war包配置
<
packaging>war</packaging>

3.去除Spring Boot内置Tomcat

<dependencies>
   <!--修改自带tomcat依赖范围为provided,防止与外部tomcat发生冲突-->
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-tomcat</artifactId>
       <scope>provided</scope>
   </dependency>
</dependencies>

4.添加war包打包插件

  如果用的是继承spring-boot-starter-parent的形式使用Spring Boot,那可以跳过,因为它已经配置好了

  如果使用的依赖spring-boot-dependencies形式,需要添加以下插件

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-war-plugin</artifactId>
   <configuration>
    <!--failOnMissingWebXml需要开启为false,不然打包会报没有web.xml错误-->        <failOnMissingWebXml>false</failOnMissingWebXml>    </configuration> </plugin>

5.打war包

  在Maven中使用 mvn cleanpackage命令打包

  在Idea中打包

  

 

 jar包转war包影响

  1.application配置文件中的server.xx等关于容器的配置就无效了,改配置需要在外部tomcat中进行

   2.Spring Boot的升级是否需要Tomcat跟着升级

  3、打war包比打jar明显要变慢好多

posted on   【cosmo】  阅读(519)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示