springboot 帶有內置Tomcat 服務器,能夠直接將項目打包成jar運行,運行命令爲:java
java -jar demo.jar
可是若是在須要把項目達成war包該怎麼辦呢?下面是將springboot項目部署爲war項目的一些步驟:
一、首先 在pom.xml中將打包形式 jar 修改成war
<packaging>war</packaging>
二、在pom.xml文件中添加下面的依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
三、設置,打包後的項目訪問名稱,在build節點裏設置文件名 (這裏是一個特別須要注意的地方,因爲開始的時候是使用的單模塊程序,因此能夠對項目命名,可是在多模塊打包中發現,若是添加項目名稱 這個結點。打包好的程序在tomcat中運行的時候會發生錯誤,war 包的目錄格式有問題)git
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> <finalName>project name</finalName> </build>
四、因爲咱們須要使用外部Tomcat服務器部署war包,因此不能使用建立項目的application.java 這個main方法了,須要重寫一個相似於 web.xml 文件配置的方式來啓動 Spring 應用上下文,此時咱們須要聲明一個類,這個類的做用與在 web.xml 中配置負責初始化 Spring 應用上下文的監聽器做用相似。github
public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(application名稱.class); }
而後在idea maven中運行package,或運行命令mvn package,在target目錄下生成war包web
而後把target目錄下的war包放到tomcat的webapps目錄下,啓動tomcat,便可自動解壓部署。
最後在瀏覽器中輸入spring
http://localhost:[端口號]/[打包項目名]/
參考:https://blog.csdn.net/github_38151745/article/details/78707664瀏覽器