欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

maven中springboot-maven-plugin的5種打包方式

 更新時(shí)間:2024年09月05日 08:33:22   作者:qq_48508157  
本文主要介紹了maven中springboot-maven-plugin的5種打包方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一  maven的打包方式

1.1 不使用maven-plugin插件普通方式打包

使用 mvn package 命令 打包

生成好的jar包

發(fā)現(xiàn)jar包的大小只有幾kb,執(zhí)行jar包看看能否啟動(dòng)。

結(jié)論:一般的maven項(xiàng)目的打包命令,不會(huì)把依賴(lài)的jar包也打包進(jìn)去的,只是會(huì)放在jar包的同目錄下,能夠引用就可以了。

1.2 使用maven-plugin插件

使用 mvn package 命令 打包

執(zhí)行命令 java -jar  xxx.jar, 結(jié)果運(yùn)行成功。

總結(jié):spring-boot-maven-plugin插件,會(huì)將依賴(lài)的jar包全部打包進(jìn)去。該文件包含了所有的依賴(lài)和資源文件,可以直接在命令行或者傳統(tǒng)的 Java Web 服務(wù)器上啟動(dòng)運(yùn)行。

二  maven的屬性介紹 

2.1 插件標(biāo)簽

<!--使用的插件列表 。 -->
            <plugins>
                <!--plugin元素包含描述插件所需要的信息。 -->
                <plugin>
                    <!--插件在倉(cāng)庫(kù)里的group ID -->
                    <groupId />
                    <!--插件在倉(cāng)庫(kù)里的artifact ID -->
                    <artifactId />
                    <!--被使用的插件的版本(或版本范圍) -->
                    <version />
                    <!--是否從該插件下載Maven擴(kuò)展(例如打包和類(lèi)型處理器),由于性能原因,只有在真需要下載時(shí),該元素才被設(shè)置成enabled。 -->
                    <extensions />
                    <!--在構(gòu)建生命周期中執(zhí)行一組目標(biāo)的配置。每個(gè)目標(biāo)可能有不同的配置。 -->
                    <executions>
                        <!--execution元素包含了插件執(zhí)行需要的信息 -->
                        <execution>
                            <!--執(zhí)行目標(biāo)的標(biāo)識(shí)符,用于標(biāo)識(shí)構(gòu)建過(guò)程中的目標(biāo),或者匹配繼承過(guò)程中需要合并的執(zhí)行目標(biāo) -->
                            <id />
                            <!--綁定了目標(biāo)的構(gòu)建生命周期階段,如果省略,目標(biāo)會(huì)被綁定到源數(shù)據(jù)里配置的默認(rèn)階段 -->
                            <phase />
                            <!--配置的執(zhí)行目標(biāo) -->
                            <goals />
                            <!--配置是否被傳播到子POM -->
                            <inherited />
                            <!--作為DOM對(duì)象的配置 -->
                            <configuration />
                        </execution>
                    </executions>
                    <!--項(xiàng)目引入插件所需要的額外依賴(lài) -->
                    <dependencies>
                        <!--參見(jiàn)dependencies/dependency元素 -->
                        <dependency>
                            ......
                        </dependency>
                    </dependencies>
                    <!--任何配置是否被傳播到子項(xiàng)目 -->
                    <inherited />
                    <!--作為DOM對(duì)象的配置 -->
                    <configuration />
                </plugin>
            </plugins>

2.2 goal的作用

該插件提供了7個(gè)maven goal

build-image: 將程序使用 buildpack 打包進(jìn)容器鏡像中。
build-info:生成項(xiàng)目的構(gòu)建信息文件 build-info.properties
help:顯示幫助信息。調(diào)用mvn spring-boot:help -Ddetail=true -Dgoal=以顯示參數(shù)詳細(xì)信息。
repackage:默認(rèn)的值,可生成可執(zhí)行的jar包或war包。插件的核心goal (在 mvnpackage 執(zhí)行之后,這個(gè)命令再次打包生成可執(zhí)行的 jar,同時(shí)將 mvnpackage 生成的 jar 重命名為 *.origin)。run:運(yùn)行 Spring Boot 應(yīng)用
start:在集成測(cè)試階段,控制生命周期
stop:在集成測(cè)試階段,控制生命周期

2.3 該插件的使用場(chǎng)景

2.3.1 排除provided類(lèi)型的依賴(lài)

默認(rèn)情況下,repackage命令所生成的包,會(huì)把項(xiàng)目中所有依賴(lài)都打進(jìn)去

但其實(shí)在項(xiàng)目中scope為provided的依賴(lài),比如 lombok、mybatis-plus等,只作用于編譯階段,編譯完成就沒(méi)用了。若除去provided依賴(lài),可以使用如下的配置:

2.3.2 指定Mainclass類(lèi)

如果未指定,main將使用找到的第一個(gè)包含方法的編譯類(lèi)。也就是說(shuō)如果只有一個(gè)main方法,那不需要去指定,如果你這個(gè)模塊存在兩個(gè)主類(lèi),那么就需要在插件中指定具體哪個(gè)啟動(dòng)類(lèi)了。

layout 屬性用來(lái)指定打成 jar 還是war 文件,可用的值包括:ZIP 、JAR 、WAR、 NONE 。默認(rèn)JAR

2.3.3  在使用spring-boot-maven-plugin的下生成普通的jar包 

前面說(shuō)了,如果使用該插件,那么打出來(lái)的包是一個(gè)可執(zhí)行的jar包,這樣的jar包,在被別的項(xiàng)目引用的時(shí)候,可能會(huì)出問(wèn)題。那如何打成一個(gè)普通的jar包。

1.第一種:通過(guò)命令

mvn clean package -D spring-boot.repackage.skip=true
加上-Dspring-boot.repackage.skip=true參數(shù)即可,此時(shí)只會(huì)生成一個(gè)普通的jar包

2.第2種:配置

這兩種方式打出來(lái)的包就是沒(méi)有依賴(lài)jar的普通包了。 

到此這篇關(guān)于maven中springboot-maven-plugin的5種打包方式:的文章就介紹到這了,更多相關(guān)maven springboot-maven-plugin打包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論