1. 程式人生 > >springboot打成war包部署到外部tomcat

springboot打成war包部署到外部tomcat

1、<packaging>jar</packaging> 改為 <packaging>war</packaging>

2、在maven裡排除自帶tomcat外掛,有兩種方法

	1)、<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

	2)、<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

3、啟動類Application.java繼承SpringBootServletInitializer並重寫configure方法

	@SpringBootApplication
	public class BootdoApplication extends SpringBootServletInitializer {
		public static void main(String[] args) {
			SpringApplication.run(BootdoApplication.class, args);

		protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
			// 注意這裡要指向原先用main方法執行的Application啟動類
			return builder.sources(BootdoApplication.class);
		}
	}
	
4、打包專案:【mvn clean package】

5、將打包好的war包丟到tomcat的webapps目錄下,到bin目錄下啟動tomcat

6、注意:spring boot只支援tomcat 8.5 以上版本,如果外部tomcat版本過低,需要在pom.xml裡指定低版本的tomcat
	<properties>
		<tomcat.version>7.0.47</tomcat.version>
	</properties>

7、請求方式:【localhost:port/war包名/在SpringBoot中RequestMapping設定的url請求】