zoukankan      html  css  js  c++  java
  • Springboot如何使用外部tomcat容器

    打包形式为war,需要对pom.xml文件进行修改,因为spring-boot-starter-web中包含内嵌的tomcat容器,所以直接部署在外部容器会冲突报错。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    SpringBootServletInitializer需要依赖javax.servlet,而tomcat-embed-jasper下面的tomcat-embed-core中就有这个javax.servlet,如果没用provided,最终打好的war里面会有servlet-api这个jar,会导致tomcat与冲突。

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>

    移除对嵌入式tomcat的依赖(方法二)

    <!--部署成war包时开启↓↓↓↓-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
     <!-- 指明使用外部tomcat -->  
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-jasper</artifactId>
                <scope>provided</scope>
            </dependency>
    <!--部署成war包时开启↑↑↑↑-->

    踩坑整理,我一般使用上面的这种。

    作者:Kaspar_Choo
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    vue零散知识
    vue router 和 组件生命周期的理解
    未搞懂的问题
    前端问题总结
    垂直居中
    css,js加载阻塞页面渲染的理解
    node 学习
    自定义事件
    学习react 遇到的问题
    [AHOI2001]彩票摇奖
  • 原文地址:https://www.cnblogs.com/kaspar/p/14468411.html
Copyright © 2011-2022 走看看