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

今天我想跟大家分享的是使用springboot如何创建可部署在外部Tomcat的war包?网上都讲了很多,不过我还是要记录一下:

springboot官方文档上面写的已经很清楚了(85.1 Create a deployable war file)

1、主类继承SpringBootServletInitializer且覆盖它的configure 方法。

@SpringBootApplicationpublic class Application extends SpringBootServletInitializer {        @Override    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {              return application.sources(Application.class);    }        public static void main(String[] args) throws Exception {        SpringApplication.run(Application.class, args);    }}

2、修改你的build配置以便你的项目生成war文件而不是jar文件。如果你使用了Maven并且使用了spring-boot-starter-parent这个类,你只需要修改pom.xml 的packaging 为war就可以了(不熟悉maven的同学可以先学习一下maven相关知识)

<packaging>war</packaging>

如果你使用Gradle,你需要修改build.gradle应用war插件

apply plugin: ‘war‘

3、该过程的最后一步是确保嵌入的servlet容器不会干扰将要部署WAR文件的servlet容器。为此,需要标记所提供的内嵌servlet容器依赖为provided。

maven配置

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

Gradle配置

dependencies {    // …
    providedRuntime ‘org.springframework.boot:spring-boot-starter-tomcat‘
    // …}
时间: 2025-01-14 19:24:07

springboot创建war包部署在外部tomcat上的相关文章

我爱Java系列之---【SpringBoot打成war包部署】

1.把下面这句话放入pom.xml中,放上边 <packaging>war</packaging> 2.war包要部署到tomcat服务器中,而springboot中自带了一个,这时候要去掉. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclus

java web项目war包部署,使用tomcat对指定接口设置身份认证

先简单说一下需求: 将一个基于springboot2.0开发的java web项目打成war包,通过tomcat部署到一台linux服务器上,项目相关的一些图片等资源也按照一定规则放置在服务器构建好的目录下.现在需要让用户通过http网页链接的方式(在浏览器端)访问图片,为了访问安全,需要在中间加一层用户认证.认证过程希望尽量简单些,所以就尝试用tomcat自带的身份认证来做. 话不多说,直接上实现流程: 首先,由于要访问本地的静态资源,所以在springboot启动类中加了一项静态资源的映射,

记录一次SpringBoot打成war包部署到tomcat启动报错

启动时,报错信息如下: 28-Sep-2018 16:55:41.567 严重 [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Error during ServletContainerInitializer processing javax.servlet.ServletException: Failed to instantiate WebApplicationInitializer

SpringBoot之打成war包部署到Tomcat

正常情况下SpringBoot项目是以jar包的形式,正常情况下SpringBoot项目是以jar包的形式,并且SpringBoot是内嵌Tomcat服务器,所以每次重新启动都是用的新的Tomcat服务器.正因如此,也出现了一个问题:    上传到项目的文件,如果是保存在项目中的,那么重启过后文件就会丢失.比如我们上传了一个头像,重启项目后,这个头像就没了.而如果将文件保存在本地磁盘中的话,html中标签没办法获取(当然,企业项目中一般是有专门的图片服务器的).因此,我们才需要将SpringBo

springboot的jar包部署

由于springboot常用war包部署,改为cloud开发模式多端口情况下,部署反而不习惯 毕竟,war包要不要项目名访问都必须放在tomcat的root目录下 而此目录限制只能放置一个项目,并且登录端口限制为tomcat的接口了 因此,jar包部署就成了必然的方式了 1.添加pom设置 静态文件需要访问,所以静态文件webapp下的文件需要重新指定位置,具体配置如下 <resource> <directory>src/main/webapp</directory>

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包名称,可以不设置使用默

SpringBoot项目打war包部署Tomcat教程

一.简介 正常来说SpringBoot项目就直接用jar包来启动,使用它内部的tomcat实现微服务,但有些时候可能有部署到外部tomcat的需求,本教程就讲解一下如何操作 二.修改pom.xml 将要部署的module的pom.xml文件<packaging>节点设置为war <!-- 默认打包方式为jar,如果是用module做父级则需要修改为pom,如果使用外部tomcat可以修改为war, 子级module的打包方式只能是jar或者war --> <packaging

SpringBoot应用部署到外部Tomcat

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

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

在开发阶段我们推荐使用内嵌的tomcat进行开发,因为这样会方便很多,但是到生成环境中,需要将项目部署到外部Tomcat中运行,此时需要一些额外的配置: 1.pom.xml调整 1.1 打包方式修改 <packaging>jar</packaging> 变更为 <packaging>war</packaging> 1.2 将spring-boot-starter-tomcat的范围设置为provided scope设置为provided,将springboo