spring boot 项目打成war,丢入tomcat独立运行
小插曲:通过cmd运行startup.bat,cmd界面显示乱码
解决方法:进入tomcat目录,conf文件夹,用编辑器打开logging.properties
将java.util.logging.ConsoleHandler.encoding = UTF-8 改为 GBK

然后就正常显示日志了

下面示例打包war部署发布
首先,为tomcat修改一个独立的端口,防止和其它端口冲突
进入tomcat目录,打开conf文件夹,打开server.xml
三个地方都改下,比较靠谱
原8080,这里改成了8081,特别还加了URIEncoding="utf-8"编码格式
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
-->
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"/>
原8009,这里改成了8091
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8091" protocol="AJP/1.3" redirectPort="8443" />
这里改成了8092
<Server port="8092" shutdown="SHUTDOWN">
工程打成war包,放入tomcat目录webapps文件夹下(注意:如果webapps下附带的小例子过程都删空了,通过IP:端口就访问不到tomcat界面了,报404,不过也可以删除,通过ip:端口/app文件夹名字访问自己的工程)

CMD切到tomcat的bin目录,执行startup.exe


项目启动后,通过ip:端口/webapps下的过程文件夹名字 访问项目
这里:localhost:8081/demo-0.0.1-SNAPSHOT

tomcat部署启动就这样了,然后示例下springboot打war包的一些步骤
在pom里添加<packaging>war</packaging>

在pom的web依赖,排除springboot内置tomcat

在springboot入口类同层目录新建一个类
package com.example.demo; import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
* SpringBoot项目必须实现SpringBootServletInitializer接口,覆盖的configure()方法
* 才能让外部容器运行Spring Boot项目,主要在不用内嵌服务器,将项目打成war包在外部服务器运行的情况
* 这里才是入口
* @author kyoxue
* @date 2019年10月16日
*/
public class ServletInitializer extends SpringBootServletInitializer{ @Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// TODO Auto-generated method stub
return builder.sources(DemoApplication.class);
}
}
一切准备就绪,右键工程,run as ----- maven clean ,run as ----- maven install
控制台找到这里:

打开目录,D:\work_maven\com\example\demo\0.0.1-SNAPSHOT\找到demo-0.0.1-SNAPSHOT.war,这个就是打成的war包,丢入tomcat的webapps文件夹下面部署即可。

spring boot 项目打成war,丢入tomcat独立运行的更多相关文章
- Spring Boot 项目打成 war 包部署
Spring Boot 一个非常方便的功能就是支持内置的 Servlet 容器,一般我们部署 Spring Boot 应用时都是打成一个可执行的 Jar 包进行部署.其实 Spring Boot 也是 ...
- spring boot 项目打成war包部署到服务器
这是spring boot学习的第二篇了,在上一篇已经整合了spring boot项目了,如果还有小伙伴没有看得可以先去看第一篇 基础整合spring boot项目 到这里的小伙伴应该都是会整合基本的 ...
- Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案
即上篇通过将web项目打成war包部署到Tomcat服务器,解决mysql问题后,又出现了新问题,真是一波三折,所以将解决过程分享给大家,希望能帮助到小伙伴们~ 将打好的war包拷贝到Tomcat的w ...
- Spring boot 项目打成war包并在idea中运行
1. 修改pom文件原来是jar改成<packaging>war</packaging> 2. 在pom文件中添加移除内置tomcat并且添加添加servlet-api的依赖. ...
- 将 Spring boot 项目打成可执行Jar包,及相关注意事项(main-class、缺少 xsd、重复打包依赖)
最近在看 spring boot 的东西,觉得很方便,很好用.对于一个简单的REST服务,都不要自己部署Tomcat了,直接在 IDE 里 run 一个包含 main 函数的主类就可以了. 但是,转念 ...
- Spring Boot项目打包部署到外部Tomcat
1.生成war包 1)修改POM文件,将打包类型改为war:<packaging>war</packaging> <packaging>war</packag ...
- 【转】将项目打成war包并用tomcat部署的方法,步骤及注意点
部署的遇到第一个问题,就是tomcat和jdk的环境问题: 首先 理解为啥要关注这二者的环境呢?他们还是有关系的–tomcat 作为比较流行的java Web服务器也是用java来实现的一个比较大的软 ...
- 将项目打成war包并用tomcat部署的方法,步骤及注意点
部署的遇到第一个问题,就是tomcat和jdk的环境问题: 首先 理解为啥要关注这二者的环境呢?他们还是有关系的–tomcat 作为比较流行的java Web服务器也是用java来实现的一个比较大的软 ...
- IDEA下spring boot项目打包war包部署外部tomcat问题
第一步,修改配置pom.xml文件 <packaging>war</packaging> <dependency> <groupId>org.sprin ...
随机推荐
- STM32嵌入式开发学习笔记(五):中断
我们过去了解了用循环实现延时,或用系统滴答计时器实现延时,但这两种方法都有一种问题:会阻塞处理器的运行.下面我们学习一种不阻塞处理器运行其他事件的功能:时钟中断. 所谓中断,就是让处理器放下手头的事情 ...
- AntiPlug
反插件工程 #pragma once #ifndef __ENHANFUNC_H__ #define __ENHANFUNC_H__ #include <iostream> #includ ...
- python 多设备同时安装app包
python 多设备同时安装app包 上代码 #!/usr/bin/env python # -*- encoding: utf-8 -*- import os import time from m ...
- jeecg随笔 -- 实体关联属性的设计
转载:https://www.iteye.com/blog/1868620 在jeecg 里 ,是根据数据库生成实体的,很多关联关系需要自己进行进一步整理才能满足我们的业务需求 例如外键关系 由于很多 ...
- json 报错415 400
JS操作JSON总结 $(function(){ $.ajax({ method: 'post', url: '/starMOOC/forum/getSectionList', dataType: ...
- MFS分布式文件系统【2】MFS MASTER 部署
MFS版本 mfs-1.6.27 MFS-MASTER 192.168.1.190 MFS-CHUNKSERVER1 192.168.1.252 MFS-CHUNKSERVER2 192.168.1. ...
- js模块化的历史
了解模块化开发的历史,可以帮助我们理解 模块化开发的形式是怎么样的,对我们深入学习模块化开发会有很大的帮助: 一.服务器端JS的模块化 nodeJS的出现 ------官网: http://nod ...
- Quartz CronTrigger 整配置说明
Quartz cron 表达式的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级. Quartz用cron 表达式存放执行计划,引用了cron表达式的CronTrigger在计 ...
- 怎样在Cocos2d-x中使用Lua脚本
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u013321328/article/details/25699545 笔者使用的是Cocos2d-x ...
- vue on emit 父子之间传值应用详细代码
大概很多人都知道用这个,网上教程也一大堆,但我想说的是一定要手动敲一遍,敲一遍,敲一遍,重要的事情说三遍. 大概有些人也不知道它该何时用on,或者emit 的吧? 先说两个我项目中用到的场景吧: 项目 ...