修改原有项目
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,测试下去和上面的情况也是一样可以成功的。