一、说明
- 本文接上一篇内容,在上一篇基础上完成部署到Tomcat的过程
- 本文学习资源来自SpringBoot官网
二、 代码修改
1. 准备好上节完成的代码
2. 把启动类从SpringBootServerletInitializer派生,用来支持WAR部署
Application.java修改后如下:
package hello;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.support.SpringBootServletInitializer;@SpringBootApplicationpublic class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } public static void main(String[] args) { SpringApplication.run(Application.class, args); }}
3. 设置主类
gradle
在build.gralde里添加:
mainClassName="hello.Application"
maven
在pom.xml里添加:
hello.Application
4. 打包支持WAR
gradle build.gradle
apply plugin: 'war'apply plugin: 'application'
maven pom.xml
war
修改后的build.gradle
buildscript { ext { springBootVersion = '1.5.8.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") }}apply plugin: 'java'apply plugin: 'eclipse'apply plugin: 'org.springframework.boot'apply plugin: 'war'apply plugin: 'application'group 'com.test'version '1.0-SNAPSHOT'sourceCompatibility = 1.8mainClassName="hello.Application"repositories { mavenCentral()}dependencies { compile('org.springframework.boot:spring-boot-starter-web') testCompile('org.springframework.boot:spring-boot-starter-test')}
三、打包
maven
mvn package
gradle
gradle clean build
可以看到build/libs里生成了war包
四、部署
可以通过tomcat manager来部署:
或者直接拷到tomcat的webapps下。