Springboot-war和jar

版权声明:欢迎转载,请注明作者和出处 https://blog.csdn.net/baichoufei90/article/details/88635943

Springboot-war和jar

  1. 打包方式不同,比如<packaging>war</packaging>

  2. 启动类继承方式不同
    以war方式打包时,Springboot启动类Application.java需要继承SpringBootServletInitializer,而jar包不需要。war方式打包时启动如下:

    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {
    
       public static void main(String[] args) {
           SpringApplication.run(Application.class, args);
       }
    
       @Override
       protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
           return builder.sources(Application.class);
       }
    }
    
  3. tomcat依赖不同

    • jar包方式,Springboot内置tomcat,默认tomcat8的版本,可以不依赖外部tomcat启动;
    • 以war包方式部署时,需要排除springboot内置的tomcat,所以需要在pom中将有关跟tomcat有关系的jar包scope都设置成provided(本地测试运行时可用,编译时不可用)。

猜你喜欢

转载自blog.csdn.net/baichoufei90/article/details/88635943