您好,登錄后才能下訂單哦!
這一篇文章介紹SpringBoot應用修改默認打jar形式部署為打war包形式,部署到外部Tomcat。
SpringBoot應用默認打包成為可執行jar模式讓我們感覺到部署的便捷,接下來給大家介紹一下SpringBoot項目打War包形式部署到外部Tomcat。
修改原有項目
1.修改項目
打開項目,修改pom文件:
1.項目中加入spring-boot-starter-web(如果是已經加入該依賴的項目可以忽略)和spring-boot-starter-tomcat依賴。
2.packaging由jar修改為war。
3.在build內加入finalName,這個是設置打war包名稱,可以不設置使用默認的。
完整pom文件如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.dalaoyang</groupId> <artifactId>springboot_tomcat</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>springboot_tomcat</name> <description>springboot_tomcat</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.15.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> <finalName>springboot_tomcat</finalName> </build> </project>
修改啟動類,使其繼承SpringBootServletInitializer類,重寫configure方法,代碼如下:
package com.dalaoyang; 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 SpringbootTomcatApplication extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(SpringbootTomcatApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(SpringbootTomcatApplication.class); } }
新建一個Controller,作為測試,代碼如下:
package com.dalaoyang; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @author dalaoyang * @project springboot_learn * @package com.dalaoyang * @email yangyang@dalaoyang.cn * @date 2018/8/1 */ @RestController public class Controller { @GetMapping("/") public String index(){ 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,測試下去和上面的情況也是一樣可以成功的。
源碼下載 :大老楊碼云
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。