Spring Boot項(xiàng)目默認(rèn)是生成可運(yùn)行的jar包,雖然Spring有內(nèi)置的tomcat君珠,但我還是喜歡部署運(yùn)行在外部的tomcat上寝志,所以不得不將spring boot項(xiàng)目生成war包。
將spring boot項(xiàng)目生成war包網(wǎng)上有很多介紹策添,但基本都是手動修改材部,然后通過命令行生成war包。我比較懶唯竹,還是喜歡用工具配置生成war包乐导,快速而且高效。下面就是通過IntelliJ生成war包浸颓,在此做筆記物臂。
一 使用IntelliJ新建spring boot項(xiàng)目###
1、
2产上、
這里一定要把 Packaging 選擇為 war棵磷,這樣IntelliJ才會自動給你把項(xiàng)目配置好,不然項(xiàng)目建成后還要手動修改晋涣。
3仪媒、
在這里你可以選擇你需要的功能,我只選了web
4谢鹊、
這里填寫你的項(xiàng)目相關(guān)信息和存儲位置算吩,可隨便填寫,填寫完后點(diǎn)擊Finish生成項(xiàng)目佃扼,IntelliJhi會為你配置好所有的信息
打開你生成好的項(xiàng)目偎巢,下面簡單說一下由IntelliJ自動配置信息
pom.xml#####
<?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>
<>......</>
<packaging>war</packaging>
<>......</>
<dependencies>
<>......</>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<>......</>
</dependencies>
<>......</>
</project>
自動加入spring-boot-starter-tomcat <scope>provided</scope>和<packaging>war</packaging>配置
ServletInitializer.java######
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}
自動生成 ServletInitializer.java
此項(xiàng)目無需再做任何修改即可打成war包
新建一個(gè)測試類TestController.java,用于部署tomcat后驗(yàn)證是否成功
@RestController
public class TestController {
@RequestMapping("/from")
public String from() {
return "hello worldK伤弧K蚁痢!";
}
}
二 在IntelliJ使用maven打war包###
1翠订、
選擇IntelliJ右側(cè)MavenProjects,雙擊package遵倦,開始打war包
2尽超、
打war輸出信息,顯示打war成功梧躺,并顯示生成的war包路徑
三 war包部署tomcat###
1似谁、將生成好的war包復(fù)制到tomcat的webapps目錄下
2傲绣、tomcat無需再做其他配置巩踏,直接啟動,輸出信息沒有報(bào)錯塞琼,則說明啟動成功,在瀏覽器中輸入上面寫的測試類訪問地址毅往,驗(yàn)證是否成功(端口可自己通過修改tomcat指定)
OK,生成攀唯、部署war包完成