博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot项目在外部tomcat环境下部署
阅读量:6950 次
发布时间:2019-06-27

本文共 1166 字,大约阅读时间需要 3 分钟。

spring-boot默认提供内嵌的tomcat,所以打包直接生成jar包,用java -jar命令就可以启动。但是,有时候我们更希望一个tomcat来管理多个项目,这种情况下就需要项目是war格式的包而不是jar格式的包。spring-boot同样提供了解决方案,只需要简单的几步更改就可以了,这里提供maven项目的解决方法:

1.将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法

@SpringBootApplicationpublic class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }

2.在pom.xml文件中,project下面增加package标签

war

 

3.还是在pom.xml文件中,dependencies下面添加

org.springframework.boot
spring-boot-starter-tomcat
provided

 

这样,只需要以上3步就可以打包成war包,并且部署到tomcat中了。需要注意的是这样部署的request url需要在端口后加上项目的名字才能正常访问。spring-boot更加强大的一点就是:即便项目是以上配置,依然可以用内嵌的tomcat来调试,启动命令和以前没变,还是:mvn spring-boot:run。

如果需要在springboot中加上request前缀,需要在application.properties中添加server.contextPath=/prefix/即可。其中prefix为前缀名。这个前缀会在war包中失效,取而代之的是war包名称,如果war包名称和prefix相同的话,那么调试环境和正式部署环境就是一个request地址了。

版权声明:知识共享,欢迎转载
你可能感兴趣的文章
Build SSH for Development on Windows Subsystem for Linux
查看>>
学习:数学----容斥原理
查看>>
WebSite And WebApplication
查看>>
Georgia Tech Online Master of Science in Computer Science 项目经验分享
查看>>
字王珐琅体系列,初稿ok
查看>>
浏览网上资源,了解编译原理就是什么?学习编译原理有什么好处?不学有什么损失?如何学习编译原理?...
查看>>
LeetCode 226. Invert Binary Tree
查看>>
空虚、寂寞、无聊
查看>>
基础学习笔记之opencv(1):opencv中facedetect例子浅析
查看>>
JS中属性/方法调用
查看>>
iOS 7 需要再和 Android 比什么
查看>>
8-Images
查看>>
Python字节码与解释器学习
查看>>
面试题
查看>>
PYTHON-函数对象,嵌套,名称空间与作用域,闭包函数
查看>>
使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(一)
查看>>
PHP 无限极分类
查看>>
Unity3D对象池
查看>>
KMS服务器激活Windows和Office2013EnterprisePlus
查看>>
service()、dopost()、doget()的区别
查看>>