亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一  maven的打包方式

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

使用 mvn package 命令 打包

生成好的jar包

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

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

1.2 使用maven-plugin插件

使用 mvn package 命令 打包

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

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

二  maven的屬性介紹 

2.1 插件標(biāo)簽

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

2.2 goal的作用

該插件提供了7個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í)行之后,這個命令再次打包生成可執(zhí)行的 jar,同時將 mvnpackage 生成的 jar 重命名為 *.origin)。run:運(yùn)行 Spring Boot 應(yīng)用
start:在集成測試階段,控制生命周期
stop:在集成測試階段,控制生命周期

2.3 該插件的使用場景

2.3.1 排除provided類型的依賴

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

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

2.3.2 指定Mainclass類

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

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

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

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

1.第一種:通過命令

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

2.第2種:配置

這兩種方式打出來的包就是沒有依賴jar的普通包了。 

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

相關(guān)文章

最新評論