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

作者:大老杨 时间:2021-10-06 04:59:48 

这一篇文章介绍SpringBoot应用修改默认打jar形式部署为打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包名称,可以不设置使用默认的。

完整pom文件如下:


<?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>

<groupId>com.dalaoyang</groupId>
<artifactId>springboot_tomcat</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<name>springboot_tomcat</name>
<description>springboot_tomcat</description>

<parent>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-parent</artifactId>
 <version>1.5.15.RELEASE</version>
 <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 <java.version>1.8</java.version>
</properties>

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

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

<build>
 <plugins>
  <plugin>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
 </plugins>
 <finalName>springboot_tomcat</finalName>
</build>

</project>

修改启动类,使其继承SpringBootServletInitializer类,重写configure方法,代码如下:


package com.dalaoyang;

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 SpringbootTomcatApplication extends SpringBootServletInitializer {

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

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

新建一个Controller,作为测试,代码如下:


package com.dalaoyang;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* @author dalaoyang
* @project springboot_learn
* @package com.dalaoyang
* @email yangyang@dalaoyang.cn
* @date 2018/8/1
*/
@RestController
public class Controller {

@GetMapping("/")
public String index(){
 return "Hello , dalaoyang ";
}
}

启动项目,本地访问http://localhost:8080/,如图:

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

打包部署

接下来我们只需要将项目打包部署到tomcat测试,本文以Idea打包为例,双击package,如图:

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

观看控制台,等待打包完成,如图。

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

将war包复制到tomcat的webapp目录下,运行tomcat,如图所示,tomcat启动成功(注意tomcat端口不要和目前启动端口冲突)。

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

使用浏览器访问http://localhost:8080/springboot_tomcat/,结果如图:

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

新建项目,直接以War形式。

新建项目

修改Packaging为War,如图

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

依赖只加入一个Web依赖,如图

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

一路next到底即可,然后打开项目发现,选择war模式后已经自动为我们集成了spring-boot-starter-tomcat依赖,而且已经为新建了一个ServletInitializer自动继承了SpringBootServletInitializer并且重写了configure,感谢我们强大的Ide,测试下去和上面的情况也是一样可以成功的。

源码下载 :大老杨码云

来源:https://blog.csdn.net/qq_33257527/article/details/81335593

标签:SpringBoot,War包,Tomcat
0
投稿

猜你喜欢

  • Android仿新浪微博分页管理界面(3)

    2023-08-04 19:14:02
  • SpringBoot Profile多环境配置方式

    2023-12-14 01:44:24
  • Spring Boot 2.X 快速集成单元测试解析

    2023-11-11 02:45:05
  • Feign调用中的两种Header传参方式小结

    2022-10-25 02:47:17
  • Unity实现俄罗斯方块(二)

    2022-01-15 06:57:56
  • Java中常用缓存Cache机制的实现

    2023-05-27 23:32:22
  • java中lambda表达式简单用例

    2023-11-24 23:17:52
  • Java编程中的一些常见问题汇总

    2022-01-08 18:05:46
  • Java中的回调

    2023-11-16 01:55:58
  • Mybatis-Spring源码分析图解

    2023-07-18 13:35:07
  • Java建造者设计模式详解

    2022-09-19 13:14:11
  • 详解spring security之httpSecurity使用示例

    2023-08-03 09:46:17
  • C++string中的insert()插入函数详解

    2023-11-02 14:05:51
  • Java实现简单通讯录管理系统

    2022-06-28 01:15:54
  • SpringBoot v2.2以上重复读取Request Body内容的解决方案

    2022-06-27 11:00:16
  • Java BigDecimal和double示例及相关问题解析

    2023-01-31 10:54:01
  • java 非对称加密算法RSA实现详解

    2023-11-25 07:41:36
  • Springboot全局异常捕获及try catch区别解析

    2022-03-02 17:44:07
  • Java动态 代理和AOP应用示例

    2023-11-26 07:45:02
  • 分享两种实现Winform程序的多语言支持的多种解决方案

    2023-10-17 21:24:17
  • asp之家 软件编程 m.aspxhome.com