这一篇文章介绍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/,如图:

打包部署

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

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

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

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

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

新建项目

修改Packaging为War,如图

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

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

源码下载 :大老杨码云

个人网站:https://www.dalaoyang.cn

关注作者公众号

最新文章

  1. jQuery each用法及each解析json
  2. MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)
  3. Ubuntu 汉化及kate汉化和使用自带终端的解决方式
  4. Unity-WIKI 之 DebugLine
  5. c3p0配置 initialPoolSize 和minPoolSize 可以设为0吗?设0有坏处吗?
  6. hihoCoder太阁最新面经算法竞赛17
  7. HTML笔记(二) 在HTML中使用CSS
  8. svn 检出代码报ssl错误问题的解决
  9. MySQL 百万级分页优化
  10. 17.2.1 Replication Implementation Details 复制实现细节:
  11. The type java.lang.String cannot be resolved. It is indirectly referenced from required .class files
  12. Pyzo -- 好用的 Python 轻量级 IDE
  13. apt-get命令学习
  14. AIX常用命令略记
  15. Java算法分析1—————寻找数组同样元素
  16. windows服务器下IIS7 安装URL Rewrite(URL重写)模块
  17. javascript-变量-作用域
  18. JAVA_SE基础——12.运算符的优先级
  19. [WEB]绕过安全狗与360PHP一句话的编写
  20. 2018-2019-1 20189201 《LInux内核原理与分析》第八周作业

热门文章

  1. selenium怎么操作web页面常见的元素
  2. k倍区间
  3. C++ shut down a computer
  4. 关于C++ const 的全面总结 (转)
  5. maven依赖查找方法
  6. Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#&lt;Object&gt;‘的解决方法
  7. java keystore
  8. RN错误随笔 - Unable to resolve module &#39;AccessibilityInfo&#39;
  9. keepalived高可用配置注意事项
  10. C# 之 HttpResponse 类