小插曲:通过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入口类同层目录新建一个类

SpringBoot项目必须实现SpringBootServletInitializer接口,覆盖其configure()方法,替代普通入口,才能让外部容器运行war包

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独立运行的更多相关文章

  1. Spring Boot 项目打成 war 包部署

    Spring Boot 一个非常方便的功能就是支持内置的 Servlet 容器,一般我们部署 Spring Boot 应用时都是打成一个可执行的 Jar 包进行部署.其实 Spring Boot 也是 ...

  2. spring boot 项目打成war包部署到服务器

    这是spring boot学习的第二篇了,在上一篇已经整合了spring boot项目了,如果还有小伙伴没有看得可以先去看第一篇 基础整合spring boot项目 到这里的小伙伴应该都是会整合基本的 ...

  3. Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案

    即上篇通过将web项目打成war包部署到Tomcat服务器,解决mysql问题后,又出现了新问题,真是一波三折,所以将解决过程分享给大家,希望能帮助到小伙伴们~ 将打好的war包拷贝到Tomcat的w ...

  4. Spring boot 项目打成war包并在idea中运行

    1. 修改pom文件原来是jar改成<packaging>war</packaging> 2. 在pom文件中添加移除内置tomcat并且添加添加servlet-api的依赖. ...

  5. 将 Spring boot 项目打成可执行Jar包,及相关注意事项(main-class、缺少 xsd、重复打包依赖)

    最近在看 spring boot 的东西,觉得很方便,很好用.对于一个简单的REST服务,都不要自己部署Tomcat了,直接在 IDE 里 run 一个包含 main 函数的主类就可以了. 但是,转念 ...

  6. Spring Boot项目打包部署到外部Tomcat

    1.生成war包 1)修改POM文件,将打包类型改为war:<packaging>war</packaging> <packaging>war</packag ...

  7. 【转】将项目打成war包并用tomcat部署的方法,步骤及注意点

    部署的遇到第一个问题,就是tomcat和jdk的环境问题: 首先 理解为啥要关注这二者的环境呢?他们还是有关系的–tomcat 作为比较流行的java Web服务器也是用java来实现的一个比较大的软 ...

  8. 将项目打成war包并用tomcat部署的方法,步骤及注意点

    部署的遇到第一个问题,就是tomcat和jdk的环境问题: 首先 理解为啥要关注这二者的环境呢?他们还是有关系的–tomcat 作为比较流行的java Web服务器也是用java来实现的一个比较大的软 ...

  9. IDEA下spring boot项目打包war包部署外部tomcat问题

    第一步,修改配置pom.xml文件 <packaging>war</packaging> <dependency> <groupId>org.sprin ...

随机推荐

  1. 使用linkedhashmap实现LRU(最近最少使用缓存算法)

    import java.util.LinkedHashMap; import java.util.Map; public class LRUCache<K, V> extends Link ...

  2. node.js是用来做什么的

    Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.(事件驱动:事件触发过程中,进行决策的一种策略,简单说就是跟随当前时间点上出现的事物,调用可用的资源进行解决该事物,使得不 ...

  3. 4.2.1 Vector bit-select and part-select addressing

    Frm:IEEE Std 1364™-2001, IEEE Standard Verilog® Hardware Description Language Bit-selects extract a ...

  4. POJ 3130 How I Mathematician Wonder What You Are! (半平面交)

    题目链接:POJ 3130 Problem Description After counting so many stars in the sky in his childhood, Isaac, n ...

  5. SDUTOJ 2498 数据结构实验之图论十一:AOE网上的关键路径

    题目链接:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/2498.html 题目大意 略. 分析 ...

  6. Spring Boot跨域问题解决方案

    @Configurationpublic class CorsConfig { @Bean public FilterRegistrationBean corsFilter() { UrlBasedC ...

  7. Ubuntu安装mongo可视化工具

    一.robo 3T 是mongodb的一个非常好用的可视化管理工具,曾经名为robomongo,现在被收购后改名为robo 3T.且现在robo 3T 1.1版本能支持mongodb3.4.现在在Ub ...

  8. js drag drop 收藏夹拖拽移除的简单例子

    代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title& ...

  9. Linux 父进程发送信号杀死子进程

    #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <signal. ...

  10. Linux 进程间通信 信号(signal)

    1. 概念: 1)信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 2)信号可以直接进行用户空间进程和内核进程之间的交互,内核进程也可以利用它来通知用户空间进程发生了哪些系统事件. 3)如果 ...