SpringBoot项目部署到外部Tomcat的相关配置

  在开发阶段我们推荐使用内嵌的tomcat进行开发,因为这样会方便很多,但是到生成环境中,需要将项目部署到外部Tomcat中运行,此时需要一些额外的配置:

1.pom.xml调整

1.1 打包方式修改

<packaging>jar</packaging>

变更为

<packaging>war</packaging>

1.2 将spring-boot-starter-tomcat的范围设置为provided

  scope设置为provided,将springboot的内置Tomcat在打包时排除

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <scope>provided</scope>
  </dependency>

发现原来项目中没有配置上面配置,因为spring-boot-starter-web内传递依赖了tomcat,我们需要手动配以覆盖传递依赖的配置

2. 启动类修改

  继承SpringBootServletInitializer覆盖configure方法,示例:

public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }

    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }
}

3.项目访问路径修改

  SpringBoot开发中使用内置Tomcat运行时,常常不使用项目名直接访问,如果部署到外部Tomcat就会出现问题,此时可以做以下配置:

  修改server.xml文件

    在Tomcat安装路径下conf文件夹中server.xml文件中找到<Host></Host>标签,在其内部添加

<Host>
    <Context docBase="D:\Tomcat\apache-tomcat-9.0.24\webapps\erp" path="" reloadable="true" crossContext="true"/> //其中docBase是项目war包在webapps的地址
</Host>


配置完成!

 

原文地址:https://www.cnblogs.com/autism-dong/p/12623857.html

时间: 2024-10-18 02:47:57

SpringBoot项目部署到外部Tomcat的相关配置的相关文章

SpringBoot应用部署到外部Tomcat

一.前言 SpringBoot内置tomcat使用很方便,打包成可执行jar文件后可以直接运行,然后内置Tomcat配置终究没有外部独立Tomcat方便,并且如果有多个web应用,使用外部独立Tomcat管理起来也更加方便.因此,这边文章介绍一下本人将myblog应用部署到外部Tomcat的过程以及其中遇到的一些问题与解决方法. 二.打包成可部署到Tomcat的war包 将应用打成war包,需要进行以下几个步骤: 1.修改打包形式 将原来的jar打包形式<packaging>jar</p

Spring-Boot项目部署到单独tomcat运行

前言: 本文是对学习SpringBoot过程中的笔记,拿最简单的项目进行部署,大家可以进行类比,文章最后会提供部署前和部署后的github地址,用代码做的笔记,可能会很乱,有兴趣的同学可以参考 正文: 项目就是访问http://localhost:8080/hello 浏览器会打印出一行字,够简单吧:) 开始修改这个项目,这里我复制一下这个项目,方便对比,像我一样干的请注意修改复制后的项目的properties--->Web Project Settings中的context root,以及修改

【Spring Boot】Spring Boot项目部署到外部Tomcat容器

一.修改项目打包方式为war包 修改pom.xml文件中packaging属性项 <packaging>war</packaging> 修改pom.xml文件增加一个依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provi

Springboot项目部署到外置Tomcat

1.去除Springboot内嵌Tomcat依赖 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-web</artifactId> 4 <exclusions> 5 <!-- 去除内嵌tomcat --> 6 <exclusion> 7 <groupId>or

springboot创建war包部署在外部tomcat上

今天我想跟大家分享的是使用springboot如何创建可部署在外部Tomcat的war包?网上都讲了很多,不过我还是要记录一下: springboot官方文档上面写的已经很清楚了(85.1 Create a deployable war file) 1.主类继承SpringBootServletInitializer且覆盖它的configure 方法. @SpringBootApplicationpublic class Application extends SpringBootServlet

SpringBoot应用War包形式部署到外部Tomcat

SpringBoot应用默认打包成为可执行jar模式让我们感觉到部署的便捷,接下来给大家介绍一下SpringBoot项目打War包形式部署到外部Tomcat. 修改原有项目 1.修改项目 打开项目,修改pom文件:1.项目中加入spring-boot-starter-web(如果是已经加入该依赖的项目可以忽略)和spring-boot-starter-tomcat依赖.2.packaging由jar修改为war.3.在build内加入finalName,这个是设置打war包名称,可以不设置使用默

2019-03-26 SpringBoot项目部署遇到跨域问题,记录一下解决历程

近期SpringBoot项目部署遇到跨域问题,记录一下解决历程. 要严格限制,允许哪些域名访问,在application.properties文件里添加配置,配置名可以自己起: cors.allowed.origin=http://10.xx.253.xx:8081,http://localhost:4200 做前后端分离的时候,这里允许的域名/IP一般都是前端项目所部署的机器. 添加一个配置类.@Configuration和@Bean注解一定要加上的.这样SpringBoot在启动的时候才会扫

springboot项目怎么部署到外部tomcat

spring-boot项目中,默认提供内嵌的tomcat,所以打包直接生成jar包,用Java -jar命令就可以启动. 但是也有一定的需求,会使用外部tomcat来部署项目.下面来看: 1.新建项目boot-tomcat-test 2.pom依赖:(添加spring-boot-starter-tomcat依赖,打包方式为war) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="

如何把springboot项目部署到tomcat上

前言: 开始以为打包springboot项目为war包丢到tomcat上的webapps下面就可以访问controller层的路径了,可是调用接口却报404的错误,而打开8080的主页,不加路径却可以看到index.jsp正常显示,后来查网上的资料才知道是需要添加一个servlet的初始化类 ServletInitializer类 import com.btw.Application; import org.springframework.boot.builder.SpringApplicati