springboot微服務內置了tomcat,在工程目錄下執行:mvn clean package,可以將項目打成jar,通過java -jar jar包名.jar啟動項目。
有哪些場景需要將springboot打成war包去部署呢?
1.一個tomcat管理多個項目
2.springboot整合jsp等
解決方法:
1.<packaging>jar</packaging>中的jar改成war
2.引入依賴:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<dependency> <groupid>org.springframework.boot</groupid> spring-boot-starter-web</artifactid> <exclusions> <exclusion> <groupid>org.springframework.boot</groupid> spring-boot-starter-tomcat</artifactid> </exclusion> </exclusions> </dependency> <!--servlet依賴--> <dependency> <groupid>javax.servlet</groupid> javax.servlet-api</artifactid> <version> 3.1 . 0 </version> <scope>provided</scope> </dependency> <dependency> <groupid>org.apache.tomcat</groupid> tomcat-servlet-api</artifactid> <version> 8.0 . 36 </version> <scope>provided</scope> </dependency> |
3.啟動類繼承SpringBootServletInitializer,重寫configure方法:
1
2
3
4
5
6
7
8
9
10
11
12
|
@SpringBootApplication public class DemoApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(DemoApplication. class , args); } @Override protected SpringApplicationBuilder configure (SpringApplicationBuilder builder) { return builder.sources(DemoApplication. class ); } </code></code> } |
4.修改tomcat配置文件context.xml
修改標簽:
1
2
|
<context> 至<context xmlblockexternal= "false" >,就可以打包部署了 </context></context> |
總結
以上所述是小編給大家介紹的移動開發Spring Boot外置tomcat教程及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:https://www.2cto.com/kf/201711/700891.html