coding喵
2019-03-07 21:32:42
springboot打成war包发布到外置tomcat
springboot默认打成jar包,但今天公司非让我打成war包,没办法,好好的内置tomcat不用,真。。。
springboot打成war包主要需要让工程屏蔽内置tomcat并且继承SpringBootServletInitializer接口。
1.建一个ServletInitializer类并且继承SpringBootServletInitializer类
注意:ServletInitializer类与springboot启动类同级目录
public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(*******Application.class); } }
2.在pom.xml中将打包方式改为war
3.在pom.xml中移除内置tomcat
代码:
<!-- 打包war使用,移除内置tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!---->
图片:
4.为了防止项目资源加载不到,加上命名
server.servlet.context-path=***********
保持一致
5.配置maven插件
6.先后运行maven的clean和package命令
package成功后,就可以在target目录下取到.war文件
7.非安装tomcat部署项目
将war包扔到webapps目录下
点击shutdown.bat关闭tomcat,startup.bat启动tomcat
期待指正与补充,谢谢!
评论

水光浮藻 LV6
2022年12月19日
majun233 LV1
2022年1月30日
lelelada LV8
2021年6月16日
zhutianhua
2021年5月11日
暂无贡献等级
chao522303 LV3
2021年1月29日
想想未来 LV3
2020年12月8日
worthy
2020年12月4日
暂无贡献等级
海盗来了 LV20
2020年6月30日
liu281337084 LV2
2020年3月23日
君知否 LV17
2020年1月17日