热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

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

这篇文章主要介绍了SpringBoot应用War包形式部署到外部Tomcat的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

这一篇文章介绍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文件如下:

<&#63;xml version="1.0" encoding="UTF-8"&#63;>

 4.0.0

 com.dalaoyang
 springboot_tomcat
 0.0.1-SNAPSHOT
 war

 springboot_tomcat
 springboot_tomcat

 
  org.springframework.boot
  spring-boot-starter-parent
  1.5.15.RELEASE
   
 

 
  UTF-8
  UTF-8
  1.8
 

 
  
   org.springframework.boot
   spring-boot-starter-web
  

  
   org.springframework.boot
   spring-boot-devtools
   runtime
  
  
   org.springframework.boot
   spring-boot-starter-tomcat
   provided
  
  
   org.springframework.boot
   spring-boot-starter-test
   test
  
 

 
  
   
    org.springframework.boot
    spring-boot-maven-plugin
   
  
  springboot_tomcat
 


修改启动类,使其继承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,测试下去和上面的情况也是一样可以成功的。

源码下载 :大老杨码云

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
author-avatar
猪的快乐旅途_278
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有