zoukankan      html  css  js  c++  java
  • 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入口类同层目录新建一个类

    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_mavencomexampledemo.0.1-SNAPSHOT找到demo-0.0.1-SNAPSHOT.war,这个就是打成的war包,丢入tomcat的webapps文件夹下面部署即可。

  • 相关阅读:
    HDU1260DP
    HDU1114 背包
    HDU1078记忆化搜索
    HDU1024 最大m子段和
    Codeforces Round #401 (Div. 2) A,B,C,D,E
    HDU3666 差分约束
    HDU1540 区间合并
    HDU3308 线段树(区间合并)
    Codeforces Round #403 (Div. 2) B 三分 C dfs
    HDU1573 线性同余方程(解的个数)
  • 原文地址:https://www.cnblogs.com/ixixi/p/11690535.html
Copyright © 2011-2022 走看看