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