Spring Boot 部署(jar和war的区别)

两种方式的区别

1、 packaging的方式不同,一种设置成jar一种是war

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    4.0.0
    cn.vcyber.www
    vcyber-api
   
    war
    1.0-SNAPSHOT
    vcyber-api
    http://maven.apache.org
1
2
3
4
5
6
7
8
9
10
2、 继承的方式不同 
Application.java需要继承SpringBootServletInitializer,而jar包不需要。 
下面是war继承的方式:

@SpringBootApplication
@RestController
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);
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
3、spring boot内置tomcat 
springboot内置tomcat容器,默认tomcat8的版本,war包部署时,需要在pom文件中有关跟tomcat有关系的jar包scope都设置成provided。 
去掉spring boot内置的tomcat代码:


            org.springframework.boot
            spring-boot-starter-web
           
               
                    log4j-over-slf4j
                    org.slf4j
               

               
                    org.springframework.boot
                    spring-boot-starter-tomcat
               

           

       

       
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
       

--------------------- 
作者:技术那点事 
来源:CSDN 
原文:https://blog.csdn.net/laozhuxiao/article/details/73232629 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(springboot)