将springboot的jar启动修改为war启动方式

springboot极大简化了java项目的搭建,模式使用内嵌式的tomcat也非常方便。但是有时候由于运维标准或者某些原因,还是需要打成war包部署。这里做一个记录,也可以参考官方文档(只是官方文档有时候更新的不太及时)。

  1. 修改打包方式
<packaging>war</packaging>
  1. 增加war插件

     <build>
         <plugins>
             <plugin>
                 <artifactId>maven-war-plugin</artifactId>
                 <version>2.6</version>
                 <configuration>
                     <failOnMissingWebXml>false</failOnMissingWebXml>
                     <outputDirectory>webapps</outputDirectory>
                     <warName>ROOT</warName>
                 </configuration>
             </plugin>
         </plugins>
     </build>
    
  2. 增加tomcat依赖,scope修改为provider

     <dependencies>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-tomcat</artifactId>
             <scope>provided</scope>
         </dependency>
     </dependencies>
    
  3. 修改启动类

     @SpringBootApplication
     @EnableScheduling
     public class App extends SpringBootServletInitializer{
         @Override
         protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
             return builder.sources(App.class);
         }
     
         public static void main(String[] args){
             SpringApplication.run(App.class,args);
         }
     }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容