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 ...
随机推荐
- yum 快速LAMP/LNMP 安装(centos7+mysql5.7+apache+php5.6 (缺点:好多模块没有加载)
1.安装Apache 安装centos7默认自带(Apache2.4.6)版本 yum -y install httpd 2.开启apache服务 systemctl start httpd.serv ...
- python Map()和reduce()函数
Map()和reduce()函数 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函 ...
- js实现点击按钮传值
js实现点击按钮传值 page1源码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8&quo ...
- git常用操作笔记
这是我看了廖雪峰的git教程,写的笔记,仅作为一个学习的记录 一.大多数我们面临的是已经有一个进行中的项目了,我们只需克隆下来就可以了 1.安装git,安装完后,可输入git,回车,查看是否已安装 2 ...
- 48-Ubuntu-系统信息-3-查看进程命令
序号 命令 作用 01 ps aux process status查看进程的详细状况 02 top 动态显示运行中的进程并且排序 03 kill [-9] 进程代号 终止指定代号的进程,-9表示强行 ...
- Java 获取当前系统的操作系统类型
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/fangchao2011/article/d ...
- vmstat - 报告虚拟内存的统计信息
总览 vmstat [-n] [延时[次数]] vmstat [-V] 描述 vmstat 对系统的进程情况.内存使用情况.交换页和 I/O 块使用情况.中断以及 CPU 使用情况进行统计并报告相应的 ...
- 数组foreach
简单使用 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 13. this关键字
1.this的概述 this关键字代表是对象的引用.也就是this在指向一个对象,所指向的对象就是调用该函数的对象引用. 2.this实例,初始化成员变 class Employee { privat ...
- 最佳实践:阿里云VPC、ECS支持IPv6啦!
12月6日,阿里云宣布为企业提供全栈IPv6解决方案. 阿里云专有网络VPC.云服务器ECS,作为阿里云的核心产品,也于2018年11月底上线双栈VPC.双栈ECS,目前正在对外公测中. 那么如何在阿 ...