- 將SpringBoot的項(xiàng)目的打包方式設(shè)置為war
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>
- 移除內(nèi)嵌的tomcat模塊允粤,但是為了我們?cè)诒緳C(jī)測(cè)試方便雌续,我們還需要引入它辣恋,所以配置如下
<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
- 添加tomcat-servelt-api依賴
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>7.0.42</version>
<scope>provided</scope>
</dependency>
- 修改入口方法 繼承一個(gè)SpringBootServletInitializer類咆繁,并且覆蓋configure方法
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication
@EnableCaching
public class SpringDataJpaExampleApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringDataJpaExampleApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringDataJpaExampleApplication.class, args);
}
}
- 添加war插件淳梦,用來(lái)自定義打包以后的war包的名稱
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceExcludes>src/main/resources/**</warSourceExcludes>
<warName>springboot</warName>
</configuration>
</plugin>
引入上面這個(gè)插件,是避免maven打包的時(shí)候?yàn)槲覀兡J(rèn)的一個(gè)帶有版本號(hào)的war包名稱琅攘,因?yàn)槲覀儾渴鸬絫omcat以后垮庐,在訪問(wèn)項(xiàng)目的時(shí)候,需要用到這個(gè)war包的名稱