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容器中啦! 正常啟動即可 不過這種方式也就要帶上專案名訪問