Spring Boot2如何構建可部署的war包
默認情況下Spring Boot使用了內嵌的Tomcat服務器,項目最終被打成jar包運行,每個jar包可以被看作一個獨立的Web服務器。
傳統(tǒng)的Web開發(fā),一般會將Web應用打成一個war包,然后將其部署到Web服務器中運行。
Spring Boot也支持傳統(tǒng)的部署模式。
開發(fā)環(huán)境:IntelliJ IDEA 2019.2.2
Spring Boot版本:2.1.8
1、新建一個名稱為demo的Spring Boot項目。
2、修改pom.xml文件
下面粗體部分為所加代碼,注釋掉原來的build節(jié)點,該項目最終會打包成一個war-demo的war包。
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<packaging>war</packaging>
<build>
<finalName>war-demo</finalName>
</build>
<properties>
<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-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>
</build>-->
</project>
3、修改啟動類方法 DemoApplication.java
繼承SpringBootServletInitializer,重寫父類configure方法。增加測試用的控制器。
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication extends SpringBootServletInitializer {
protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
return application.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@RequestMapping("/")
public String test(){
return "test";
}
}
4、先后點擊IDEA的Maven窗口的clean和package

到項目的target目錄下,可看到生成了一個war-demo.war,把它拷貝到Tomcat的webapps目錄下,啟動Tomcat,
訪問http://localhost:8080/war-demo/,可看到頁面輸出:test
附,項目結構:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Docker?快速部署Springboot項目超詳細最新版
- IDEA Spring Boot 自動化構建+部署的實現(xiàn)
- SpringBoot集成Swagger2構建在線API文檔的代碼詳解
- SpringBoot集成Swagger構建api文檔的操作
- Spring Boot 2.4 新特性之一鍵構建Docker鏡像的過程詳解
- Spring Boot 使用 Swagger 構建 RestAPI 接口文檔
- IDEA使用Gradle構建SpringBoot項目工程的詳細教程
- springboot-2.3.x最新版源碼閱讀環(huán)境搭建(基于gradle構建)
- 基于SpringBoot構建電商秒殺項目代碼實例
- Spring Boot構建系統(tǒng)安全層的步驟
相關文章
java項目實現(xiàn)統(tǒng)一打印入參出參等日志
這篇文章主要介紹了java項目實現(xiàn)統(tǒng)一打印入參出參等日志方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
spring boot jpa寫原生sql報Cannot resolve table錯誤解決方法
在本篇文章里小編給大家整理的是關于spring boot jpa寫原生sql報Cannot resolve table錯誤的解決方法,需要的朋友學習下。2019-11-11

