spring boot打包會有.war.original文件的原因 (筆記)


今天使用spring boot 2.1.1.RELEASE版本搭建項目,雖然可以直接打包成可運行的jar包,但是由於公司准備采用docker容器來管理項目,所以需要把jar包變成war包,並且war包內也不需要內嵌tomcat。
經歷:按照網上說的在pom中添加代碼(更改package類型是必須的<packaging>war</packaging>):

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

發現打包出來的war包體積仍然很大,而且target下面會出現一個war包和一個.war.original結尾的文件,war文件中仍然包含tomcat的jar包。
最后觀察mvn打包輸出的內容如下:

......省略......
[INFO] --- maven-war-plugin:3.2.2:war (default-war) @ sandbox-service ---
[INFO] Packaging webapp
[INFO] Assembling webapp [sandbox-service] in [/...省略項目絕對路徑.../target/sandbox-service-0.0.1-SNAPSHOT]
[INFO] Processing war project
[INFO] Webapp assembled in [139 msecs]
[INFO] Building war: /...省略項目絕對路徑.../target/sandbox-service-0.0.1-SNAPSHOT.war
[INFO] 
[INFO] --- spring-boot-maven-plugin:2.1.1.RELEASE:repackage (repackage) @ sandbox-service ---
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.515 s
......省略......

原來maven已經打包好了,然后spring-boot-maven-plugin又重新做了打包的動作,應該是打包成了可以通過-jar運行的包,並且把原來maven打包好的war包重新命名成了.war.original

當我把pom文件中的代碼注釋之后就正常了

<!--  注釋spring-boot-maven-plugin原因:因為這個插件會重新打包(repackage),打包成spring-boot可通過-jar形式運行的jar或war包,並且把原來maven打包重名稱成.war.original結尾 -->
<!--
<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
 -->

如果想在打包的時候定義war名稱,還可以添加下面的插件:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warName>war包的名稱</warName>
                </configuration>
            </plugin>


免責聲明!

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



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