1. 程式人生 > >Spring Boot 部署(jar和war的區別)

Spring Boot 部署(jar和war的區別)

兩種方式的區別

1、 packaging的方式不同,一種設定成jar一種是war

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.vcyber.www</groupId>
    <artifactId>vcyber-api</artifactId>
    <!--這個地方有所區別 -->
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>vcyber-api</name>
    <url>http://maven.apache.org</url>
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程式碼:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>log4j-over-slf4j</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
--------------------- 
作者:技術那點事 
來源:CSDN 
原文:https://blog.csdn.net/laozhuxiao/article/details/73232629 
版權宣告:本文為博主原創文章,轉載請附上博文連結!