一、说明
- 本文接上一篇内容,在上一篇基础上完成部署到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;
@SpringBootApplication
public 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里添加:
<start-class>hello.Application</start-class>
4. 打包支持WAR
gradle build.gradle
apply plugin: 'war'
apply plugin: 'application'
maven pom.xml
<packaging>war</packaging>
修改后的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.8
mainClassName="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下。