1. 程式人生 > >centos 上釋出springboot專案(兩種方式)

centos 上釋出springboot專案(兩種方式)

一丶方式一採用springboot 自帶的tomcat

1.首先在專案pom.xml檔案中新增 

  <build>
<plugins>
 <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>
  </plugins>

  </build>

2.否則用java -jar java -jar springboot.war 會包找不到主程式 或者按照網上的說法在後面 加上spring入口的主類也會報錯找不到springboot的類

3.java -jar java -jar springboot.war啟動專案

4.執行結果


啟動成功

二丶方式2採用獨立的tomcat 不使用自帶的tomcat方式

1.在start-web中排除springboot自帶的tomcat

  <!-- Web starter依賴引入,會增加web容器、springweb、springmvc、jackson-databind等相關的依賴 -->
  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
                <!-- 移除嵌入式tomcat外掛 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>

  </dependency>

[email protected] 註解的啟動類修改 繼承SpringBootServletInitializer

/**
 * 修改啟動類,繼承 SpringBootServletInitializer 並重寫 configure 方法
 */
@SpringBootApplication
public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意這裡要指向原先用main方法執行的Application啟動類
        return builder.sources(SpringBootStartApplication.class);
    }
//    
    public static void main(String[] args) throws Exception {
    /**
    * 
    */
    SpringBootStartApplication sbsa = new SpringBootStartApplication();
        SpringApplication.run(SpringBootStartApplication.class, args);
    }

}

3.此時就一個將springboot 的war包,放入到自己的tomcat容器中啦! 正常啟動即可 不過這種方式也就要帶上專案名訪問