Spring Boot将WAR文件部署到Tomcat

CST实战:5分钟搞定圆极化天线轴比分析(含远场设置技巧) 本文提供了一份CST Studio Suite圆极化天线轴比分析的实战指南。文章详细讲解了轴比的概念与工程标准,并重点演示了如何正确设置远场监视器以获取Axial Ratio数据,包括关键步骤与后处理技巧。最后,通过植入式天线在生物组织环境中的案例,分析了复杂环境对轴比性能的影响及优化思路。 阅读详情

在本文中,将演示如何将Spring Boot WAR文件部署到Tomcat servlet容器中。

对于Spring Boot WAR部署,需要执行三个步骤:

  1. 扩展SpringBootServletInitializer
  2. 根据提供标记嵌入式servlet容器。
  3. 更新包装为 War

测试工具:

  • Spring Boot 1.4.2.RELEASE
  • Tomcat 8.5.9
  • Maven 3

注意
在Spring Boot中,具有嵌入服务器解决方案的最终可执行JAR文件可能不适合所有生产环境,特别是部署团队(具有良好的服务器优化和监控技能知识,但缺乏开发经验的团队),他们希望完全控制服务器,并且不能接触代码。

1. 推展 SpringBootServletInitializer

使现有的 @SpringBootApplication 类扩展 SpringBootServletInitializer
1.1 - 经典Spring Boot JAR部署(更新此文件以支持WAR部署)。

SpringBootWebApplication.java 文件的内容如下 -

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootWebApplication {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SpringBootWebApplication.class, args);
    }

}

 

1.2 Spring Boot WAR 部署

SpringBootWebApplication.java 文件的内容如下 -

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class SpringBootWebApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(SpringBootWebApplication.class);
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SpringBootWebApplication.class, args);
    }

}

/*@SpringBootApplication
public class SpringBootWebApplication {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SpringBootWebApplication.class, args);
    }

}*/

 

如果要为部署创建了一个额外的SpringBootWebApplication类,请确保告诉Spring Boot要从哪个主类开始启动程序:

在 pom.xml 文件中增加以下内容指定 -

<properties>
      <start-class>com.yiibai.NewSpringBootWebApplicationForWAR</start-class>
</properties>

 

2.提供标记嵌入式servlet容器

在 pom.xml 文件中增加以下内容指定 -

<dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    <!-- marked the embedded servlet container as provided -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

</dependencies>

 

3.更新包装为War
在 pom.xml 文件中增加以下内容指定 -

<packaging>war</packaging>

 

完成,mvn打包并将$project/target/xxx.war复制到Tomcat发布目录进行部署。

4. 完整的Spring Boot WAR + Tomcat部署

4.1 - 以Spring Boot Thymeleaf为例,更新它并手动部署到Tomcat。
4.2 - 更新现有的SpringBootWebApplication并让它扩展SpringBootServletInitializer类。

SpringBootWebApplication.java文件的完整代码如下所示 -

package com.yiibai;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class SpringBootWebApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(SpringBootWebApplication.class);
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SpringBootWebApplication.class, args);
    }

}

 

4.3 - 更新打包包,并按提供的标记spring-boot-starter-tomcat。
pom.xml文件的完整代码如下所示 -

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-boot-web-thymeleaf</artifactId>
    <packaging>war</packaging>
    <name>Spring Boot Web Thymeleaf Example</name>
    <description>Spring Boot Web Thymeleaf Example</description>
    <url>http://www.yiibai.com</url>
    <version>1.0</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.2.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <!-- marked the embedded servlet container as provided -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- hot swapping, disable cache for template, enable live reload -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

        <!-- Optional, for bootstrap -->
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
            <version>3.3.7</version>
        </dependency>

    </dependencies>
    <build>
        <plugins>
            <!-- Package as an executable jar/war -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

 

4.4 - 这是可选的,将contextPath更新为/yiibai以方便稍后作为演示。准备好WAR部署文件。

application.properties 文件的完整内容如下所示 -

welcome.message: Hello Yiibai

server.contextPath=/yiibai

Bash

4.5 - 获取Tomcat并部署WAR文件,执行以下命令 -

F:\worksp\springboot\spring-boot-war-tomcat>mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Spring Boot Web Thymeleaf Example 1.0
[INFO] ------------------------------------------------------------------------
Downloading: http://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-thymeleaf/1.4.2.RELEASE/spring-boot-starter-thymeleaf-1.4.2.RELEASE.pom
Downloaded: http://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-thymeleaf/1.4.2.RELEASE/spring-boot-starter-thymeleaf-1.4.2.RELEASE.pom (2 KB at 0.7 KB/sec)
Downloading: http://repo.maven.apache.org/maven2/org/thymeleaf/thymeleaf-spring4/2.1.5.RELEASE/thymeleaf-spring4-2.1.5.RELEASE.pom
....
.... ...

 

将生成的 spring-boot-web-thymeleaf-1.0.war 拷贝到 Tomcat 发布目录下 -

例如,写本文章时,Tomcat 发布目录使用的是 -F:\worksp\springmvc\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps

4.6 - 现在启动 Tomcat,访问:http://localhost:8080/yiibai/ ,程序没有错误问题,应该会看到以下结果 -

Fortran基础编程(3)——格式化输出 本篇推文将进一步讲解Fortran基础语法中格式化输出与声明部分,让我们的代码更加美观起来吧~ 阅读详情

相关推荐

点云PCL库学习-双目图像转化为点云PCD并显示

文章目录 双目视觉模型 代码实现 总结 参考文章 一、双目视觉模型 和RGBD相机主动发射光线实现测距不同,双目测距原理通过配置立体摄像头(通常由左眼相机和右眼相机两个水平放置的相机组成)来获取一对同一场景中的二维图像,再基于同一空间点在两个坐标系下的视差来计算深度。双目测距的示意图和数学表达式如下所示: 双目相机的成像示意图 上述示意图描述了一个空间点在左右两目相机中位置之间的成像关系,根据相似三角形原理可得: 其中,f和b分别为相机焦距和双目相机基线,d为空间点在两个坐标系下

weixin_41957687的博客 6948

SpringBoot打war包部署Tomcat(最全)

1. tomcat9 2. jdk8 3. springboot2.x 1 - pom.xml 修改打包方式 <packaging>war</packaging> 2 - 加入SpringBoot打包插件(pom.xml) <build> <plugins> <plugin> <groupId>org.springframework.boot&lt

led1114的博客 1万+

【01、Go与VSCode的安装】

小白学Go语言

wangruil的博客 1536

Tomcat部署SpringBoot项目的war包的方法

Tomcat部署SpringBoot项目的war包的方法

qq_41512902的博客 3928

从零开始:如何在Windows上搭建Airsim仿真环境(避坑指南)

本文是一份详细的Windows平台AirSim仿真环境搭建指南。文章从硬件要求、Visual Studio与虚幻引擎安装开始,逐步讲解AirSim插件编译、UE项目配置,并重点介绍了通过WSL2连接PX4飞控软件实现软件在环仿真的完整流程。内容涵盖常见问题排查与性能优化,旨在帮助开发者避开常见陷阱,高效构建可用于无人机算法开发的虚拟测试平台。

earth的博客 300

手把手教你在Keil/IAR中移植SEGGER_RTT组件(避坑指南+性能对比)

本文详细介绍了在Keil/IAR开发环境中移植SEGGER RTT调试组件的完整流程与优化技巧。通过对比传统串口调试,SEGGER RTT凭借零硬件占用、高速传输和双向交互等优势,显著提升嵌入式开发效率。文章包含配置步骤、性能调优方案及常见问题解决方案,是嵌入式开发者必备的实用指南。

y7z8a的博客 243

springboot项目打war包部署到本地tomcat最终解决方案

前言:在去年年末写了一篇关于war包发布到tomcat的文章--springboot项目打war包部署到本地或centos7中的tomcat_lanren312的博客-优快云博客,里面提到还有些问题没有解决,时隔3个多月,终于将疑惑全部解开。 step1: 直接上配置文件 ps:默认是jar包,加了才是war包.. <packaging>war</packaging> ps: <dependency> <groupId>org.sp

lanren312的博客 1万+

关于SVPWM七段式五段式调制后的相电压和线电压波形——大疆DJI技术笔试

1.SVPWM七段式/五段式调制的相电压和线电压波形 脉宽调制(PWM)在并网变流技术中得到了广泛的应用。与正弦脉宽调制(SPWM)的控制方法相比,SVPWM方法具有直流侧电压利用率高,电压谐波小,易于数字化实现等显著的优点,从而使SVPWM在实际的应用中越来越普遍。TMS320F28335是32位浮点的DSP控制器,具有150MHz的高速处理能力,18路PWM输出,与前几代数字信号控制器相比,性能平均提高了50%。其中具体的SVPWM理论实现的原理,请参考我的博客永磁同步电机的矢量控制策略(七)一一一SV

昔时扬尘处 2万+

SpringBoot——SpringBoot打war包并部署到Tomcat

SpringBoot——SpringBoot打war包并部署到Tomcat

贝尔摩德苦艾酒 1万+

学Simulink--进阶电机控制场景实例:基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文详细介绍了基于Simulink的异步电机定子磁链定向控制(SFOC)仿真实现方法。主要内容包括:1) SFOC原理分析,突出其对转子参数不敏感的优势;2) 工业风机驱动系统的完整建模流程,涵盖主电路搭建、坐标变换、磁链观测器设计等关键步骤;3) 核心模块代码实现,包括电压模型磁链观测器和双闭环PI控制器;4) 仿真结果验证了SFOC在转速响应(0.2s)、转矩恢复(0.15s)和参数鲁棒性(转子电阻变化50%时转速波动<2%)方面的优异性能。本文为工程师提供了实用的SFOC系统开发指南,特别适用于

amy_mhd的博客 116

【DRAM存储器五十四】LPDDR5介绍--PHY简介和LPDDR5训练流程

简述LPDDR5 PHY的基本功能和训练流程简介

highman110的博客 904

springboot通过tomcat部署项目(包含jar、war两种方式,迄今为止全网最详细!2024更新..建议收藏,教学!万字长文!)

本文详细介绍了 Spring Boot 项目使用 内置 Tomcat 和 外置 Tomcat 两种方式的部署方法。首先介绍了 Tomcat 的起源、作用及优势,随后针对内置 Tomcat 部署,将 Spring Boot 项目打包为可执行的 jar 文件 并直接运行。接着讲解了外置 Tomcat 部署方法,将项目打包为 war 文件 并部署到独立的 Tomcat 服务器中。文章通过图文并茂的步骤展示了如何配置项目、修改 pom.xml、打包及启动项目,并讨论了相关配置和常见问题的解决方案。

m0_73804746的博客 1万+

基于深度学习的目标检测在 Android 端的优化实现:YOLO Mobile × NPU 加速实战教程

随着国产手机芯片日益强大,终端侧的目标检测任务已经具备实用性基础。本文围绕实际工程场景,详细讲解如何在 Android 应用中部署轻量级目标检测模型(如 YOLO Mobile、EfficientDet Lite),并结合国产手机 NPU 能力,实现高性能、低延迟、实时目标检测系统。文章将涵盖从模型选择、结构优化、量化转换到 Android 上推理加速、UI 实时渲染的全链路工程路径,强调每一环节的真实可复现性与部署细节,适合 AI 工程师、移动开发者及企业级应用落地团队参考使用。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1410

打包tomcat没有xml文件_Spring Boot 项目打包 War 并部署到 Tomcat

之前使用 SpringBoot 所做的开发,都是将项目打包成 Jar 的,但是如果是作为一个 Web 项目,最好是将项目打包成 War。1. Jar 包和 War 包的区别1、概念jar 包:JAR 包是类的归档文件,JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM...

weixin_39533432的博客 475

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Spring Boot应用程序创建可部署的war文件到tomcat

经过前面的入门体验 Spring Boot第一个web在浏览器输出Hello Spring Boot建立一个web控制器 有一个想法,如何生成war文件部署到tomcat呢? 生成可部署war文件的第一步是提供一个SpringBootServletInitializer子类(Application)并覆盖其configure方法。这样做利用了Spring Framework的Servlet...

技术工兵 577

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring Boot –将WAR文件部署到Tomcat

在本文中,我们将向您展示如何创建Spring Boot传统WAR文件并将其部署到Tomcat Servlet容器。 在Spring Boot中,要创建用于部署的WAR,我们需要3个步骤: 扩展SpringBootServletInitializer 将嵌入式servlet容器标记为已提供。 更新包装以进行战争 经过测试 Spring Boot 2.1.2发布 T...

一名可爱的技术搬运工 285

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

002-Spring Boot将WAR文件部署到Tomcat

一、概述   springboot 带有内置Tomcat 服务器,可以直接将项目打包成jar运行,如果在需要把项目打成war包,使用外置tomcat部署。下面是将springboot项目部署为war项目的一些步骤。 二、Springboot程序打成war包 1、在pom.xml中将打包形式 jar 修改为war &lt;packaging&gt;war&lt;/packagin...

weixin_34293141的博客 108

Spring boot打包为可部署在tomcat下运行的war文件的方法(使用Gradle、Intellij IDEA)

使用Gradle: dependencies { compile("org.springframework.boot:spring-boot-starter-web") providedCompile("org.springframework.boot:spring-boot-starter-tomcat")//此处使用providedCompile,则生成的jar包可放入to...

sunjinjuan的博客 478

Spring Boot 将WAR文件部署到Tomcat

在本文中,将演示如何将Spring Boot WAR文件部署到Tomcat servlet容器中。 对于Spring Boot WAR部署,需要执行三个步骤: 扩展SpringBootServletInitializer根据提供标记嵌入式servlet容器。更新包装为 War 测试工具: Spring Boot 1.4.2.RELEASETomcat 8.5.9Maven 3

往事随风@的博客 280

Spring boot打包为可部署在tomcat下运行的war文件的方法(使用Gradle、Intellij IDEA)...

使用Gradle: dependencies { compile("org.springframework.boot:spring-boot-starter-web") providedCompile("org.springframework.boot:spring-boot-starter-tomcat")//此处使用providedCompile,则生成的jar包可放入...

diaojubian0934的博客 206

Spring Boot将WAR文件部署到Tomcat(十一)

这篇博文主要用于新手学习Spring Boot,同时也记录自己学习的过程… 文章内容主要来源于易百教程 在本文中,将演示如何将Spring Boot WAR文件部署到Tomcat servlet容器中。 对于Spring Boot WAR部署,需要执行三个步骤: 列表内容扩展SpringBootServletInitializer 根据提供标记嵌入式servlet容器。 更新...

小影 1093

Spring Boot(三) 将war文件部署到tomcat 、 Thymeleaf示例

Spring Boot(三) 将war文件部署到tomcat 、 Thymeleaf示例 一 、 将war文件部署到tomcat 对于Spring Boot WAR部署,需要执行三个步骤: 扩展SpringBootServletInitializer 根据提供标记嵌入式servlet容器。 更新包装为 War 测试工具 Spring Boot 1.4.2.RELEASE Tomca...

chou_out_man的博客 5001

java配置文件 放到war包外面_Spring Boot打成war包引入外部配置文件部署Tomcat

前言:Spring Boot因其特定的配置方式,受到了Java开发者们的热捧,成为了近年来最受欢迎的Java开发框架,当下的Coder如果要新创建项目,首选都是Spring Boot,而且与微服务有着完美的切入口。Spring Boot中内置的Tomcat插件,使得开发者不需要进行额外的Tomcat配置,就可一键启动项目。Spring Boot可以打包成jar或者war的形式部署,现在生产很大一部...

weixin_42398141的博客 1138

java boot tomcat,Spring Boot 教程:Tomcat 部署

【注】本文译自:https://www.tutorialspoint.com/spring_boot/spring_boot_tomcat_deployment.htm使用 Spring Boot 应用,我们可以创建一个 war 文件部署到 web 服务器中。本文讲解如何创建 war 文件并将 Spring Boot 应用部署到 Tomcat web 服务器中。Spring Boot Servle...

weixin_39572152的博客 140

eclipse maven项目 class类部署不到tomcat下_Spring Boot快速入门之(四):Tomcat 部署...

【注】本文译自:https://www.tutorialspoint.com/spring_boot/spring_boot_tomcat_deployment.htm 使用 Spring Boot 应用,我们可以创建一个 war 文件部署到 web 服务器中。本文讲解如何创建 war 文件并将 Spring Boot 应用部署到 Tomcat web 服务器中。Spring Boot Se...

weixin_39770821的博客 92

Spring Boot 教程:Tomcat 部署

【注】本文译自:https://www.tutorialspoint.com/spring_boot/spring_boot_tomcat_deployment.htm 使用Spring Boot 应用,我们可以创建一个 war 文件部署到 web 服务器中。本文讲解如何创建 war 文件并将 Spring Boot 应用部署到 Tomcat web 服务器中。 Spring Boot Servlet 初始化器 传统的部署方式是将 Spring Boot 应用中@SpringB...

dancuowang的博客 484
上一篇: 基于普通java和基于spring boot的 Java kafka producer and client demo
下一篇: jhipster使用简明教程
大树叶
博客等级 码龄12年 1171粉丝 664原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值