SpringBoot項目打成一個war包


 springboot 帶有內置Tomcat 服務器,可以直接將項目打包成jar運行,運行命令為:

  java -jar demo.jar
但是如果在需要把項目達成war包該怎么辦呢?下面是將springboot項目部署為war項目的一些步驟:
1、首先 在pom.xml中將打包形式 jar 修改為war
<packaging>war</packaging>
2、在pom.xml文件中添加下面的依賴:
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <scope>provided</scope>
 </dependency>

3、設置,打包后的項目訪問名稱,在build節點里設置文件名 (這里是一個特別需要注意的地方,由於開始的時候是使用的單模塊程序,所以可以對項目命名,但是在多模塊打包中發現,如果添加項目名稱 這個結點。打包好的程序在tomcat中運行的時候會發生錯誤,war 包的目錄格式有問題)

<build>
   <plugins>
       <plugin>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
   </plugins>
 <finalName>project name</finalName>
</build>

4、由於我們需要使用外部Tomcat服務器部署war包,所以不能使用創建項目的application.java 這個main方法了,需要重寫一個類似於 web.xml 文件配置的方式來啟動 Spring 應用上下文,此時我們需要聲明一個類,這個類的作用與在 web.xml 中配置負責初始化 Spring 應用上下文的監聽器作用類似。

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(application名稱.class);
    }

然后在idea maven中運行package,或運行命令mvn package,在target目錄下生成war包

然后把target目錄下的war包放到tomcat的webapps目錄下,啟動tomcat,即可自動解壓部署。 
最后在瀏覽器中輸入

http://localhost:[端口號]/[打包項目名]/

 

參考:https://blog.csdn.net/github_38151745/article/details/78707664

           https://blog.csdn.net/zhoucheng05_13/article/details/77915294

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM