
如何在idea利用maven把tomcat发布到外部tomcat提出内嵌的版本?
发布日期:2021-05-06 19:51:46
浏览次数:17
分类:技术文章
本文共 1814 字,大约阅读时间需要 6 分钟。
说明
- 如何在idea下利用maven打包war包
- 如何在发布war包到外部tomcat容器时,剔除内嵌的tomcat(否则404)
- 在本地idea执行时用内嵌的tomcat,当打包时剔除内嵌tomcat,这样才完美
操作1 idea下利用maven打包war包
war org.springframework.boot spring-boot-maven-plugin ROOT
- 引入maven打包插件
- 配置packaging标签,这里war表示打包成war包。jar表示打包成jar包。
- 指定生成war包的名字,finalName指定名字
- clean + install 打包(idea右侧有maven工具栏)
打包好后,在项目target目录下生成xx.war包。默认包含内嵌tomcat,所以可以通过java -jar xx.war命令直接运行服务。但缺点在于,如果放到独立的tomcat中可以正常启动,但是无法访问路径,报404错误。
操作2 打包时剔除内嵌的tomcat
step1 编写一个ApiServletInitializer 类copy下面内容。xxxxx代表你的启动类名
import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;/** * web容器中进行部署 * * @author bian */public class ApiServletInitializer extends SpringBootServletInitializer{ @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(xxxxx.class); }}
step2 pom文件中添加如下内容
org.springframework.boot spring-boot-starter-tomcat provided
然后打包时就可以剔除tomcat
操作3 在本地idea执行时用内嵌的tomcat,当打包时剔除内嵌tomcat
经测试操作2中只做step1即可,即只需添加下面的类到服务即可。我在springboot2.0中验证,可以保持两者兼得。
import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;/** * web容器中进行部署 * * @author bian */public class ApiServletInitializer extends SpringBootServletInitializer{ @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(xxxxx.class); }}
总结
时代在变化,可以用最简单的方式解决问题
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月30日 08时12分15秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java洛谷P5461 赦免战俘讲解
2019-03-04
关于 form表单 嵌套问题的解决方案
2019-03-04
论转发与重定向参数传递问题(jsp+servlet项目开发遇到的问题)
2019-03-04
Spring Boot怎么样处理静态资源(静态资源映射规则)_Web开发
2019-03-04
Android—— log.e(),log.d(),log.i()等的区别
2019-03-04
js中时间戳转时间格式
2019-03-04
JS中的数据类型
2019-03-04
位运算
2019-03-04
MarkDown
2019-03-04
线性代数 16 向量空间
2019-03-04
nginx 配置实例 - 反向代理(1)
2019-03-04
【数字电路抢救】1 逻辑代数基础(3)同或 异或
2019-03-04
c++ 函数化 面向对象
2019-03-04
【无需额外安装插件】vscode 同步插件、设置、UI状态 | 超简单方法
2019-03-04
【unity shader 入门精要】CH2 渲染流水线
2019-03-04
【unity shader 入门精要】CH7 基础纹理
2019-03-04
Linux运维技术之RAID配置
2019-03-04
java学习笔记6:windows、linux安装配置jdk
2019-03-04
java学习笔记24:文档注释与代码块
2019-03-04
java学习笔记31:Arrays类介绍使用
2019-03-04