一、說明
- 本文接上一篇内容,在上一篇基礎上完成部署到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下。