查看: 583|回复: 0

[Java代码] 扣丁学堂Java开发SpringBoot应用War包形式部署到外部Tomcat方法

发表于 2018-8-9 14:01:58
  今天扣丁学堂Java培训老师给大家主要介绍了SpringBoot应用War包形式,部署到外部Tomcat的方法,SpringBoot应用默认打包成为可执行jar模式让我们感觉到部署的便捷,下面我们一起来看一下吧。



  修改原有项目
  1.修改项目
  打开项目,修改pom文件:
  1.项目中加入spring-boot-starter-web(如果是已经加入该依赖的项目可以忽略)和spring-boot-starter-tomcat依赖。
  2.packaging由jar修改为war。
  3.在build内加入finalName,这个是设置打war包名称,可以不设置使用默认的。
  完整pom文件如下:

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
  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方法,代码如下:
  packagecom.dalaoyang;
  importorg.springframework.boot.SpringApplication;
  importorg.springframework.boot.autoconfigure.SpringBootApplication;
  importorg.springframework.boot.builder.SpringApplicationBuilder;
  importorg.springframework.boot.web.support.SpringBootServletInitializer;
  @SpringBootApplication
  publicclassSpringbootTomcatApplicationextendsSpringBootServletInitializer{
  publicstaticvoidmain(String[]args){
  SpringApplication.run(SpringbootTomcatApplication.class,args);
  }
  @Override
  protectedSpringApplicationBuilderconfigure(SpringApplicationBuilderapplication){
  returnapplication.sources(SpringbootTomcatApplication.class);
  }
  }
  新建一个Controller,作为测试,代码如下:
  packagecom.dalaoyang;
  importorg.springframework.web.bind.annotation.GetMapping;
  importorg.springframework.web.bind.annotation.RestController;
  /**
  *@authordalaoyang
  *@projectspringboot_learn
  *@packagecom.dalaoyang
  *@date2018/8/1
  */
  @RestController
  publicclassController{
  @GetMapping("/")
  publicStringindex(){
  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,测试下去和上面的情况也是一样可以成功的。


回复

使用道具 举报