国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

maven 常用打包方式匯總

這篇具有很好參考價(jià)值的文章主要介紹了maven 常用打包方式匯總。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

通用的三種打包

1.方式一: 最小化打包 maven-jar-plugin

用途: 可以用來發(fā)布maven倉(cāng)庫(kù) 或最小化共享

一般不包含第三方依賴,
可以結(jié)合maven-dependency-plugin插件把其他依賴也一起打包

示例:

    <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>cn.note.swing.SpringViewApplication</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

2. 方式二: 通用打包 maven-shade-plugin

用途: 普通工程打包為可執(zhí)行jar ,相當(dāng)于Fat Jar

shade打包一般夠用, 但是如果常用的配置項(xiàng)不能滿足需求時(shí),可以使用maven-assembly-plugin

示例:

       <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.1</version>
                <configuration>
                    <transformers>
                        <!--設(shè)置主函數(shù)-->
                        <transformer
                                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                            <mainClass>cn.note.swing.deploy.SingleAutoHelper</mainClass>
                        </transformer>
                    </transformers>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

3.方式三: 可自定義擴(kuò)展打包maven-assembly-plugin

用途: 可以自定義bin文件夾,嵌入一些bat文件或sh文件

相對(duì)于maven-shade-plugin比較復(fù)雜一些,但是對(duì)于特殊需要時(shí) ,可以考慮使用

示例

    <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifest>
                            <!--程序入口 -->
                            <mainClass>cn.note.swing.SpringViewApplicationcation</mainClass>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                        <manifestEntries>
                            <Class-Path>lib/*.jar</Class-Path>
                        </manifestEntries>
                    </archive>
                    <descriptorRefs>
                        <!--文件名后綴 -->
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <descriptors>
                        <!--assembly配置文件路徑,注意需要在項(xiàng)目中新建文件assembly/release.xml -->
                        <descriptor>${project.basedir}/assembly/release.xml</descriptor>
                    </descriptors>
                </configuration>
            </plugin>

常用的配置信息:

字段 解析
formats 是assembly插件支持的打包文件格式,有zip、tar、tar.gz、tar.bz2、jar、war??梢酝瑫r(shí)定義多個(gè)format
id 是添加到打包文件名的標(biāo)識(shí)符,用來做后綴。也就是說,如果按上面的配置,生成的文件就是artifactId ? {artifactId}-artifactId?{version}-assembly.tar.gz
fileSets/fileSet 用來設(shè)置一組文件在打包時(shí)的屬性
directory 源目錄的路徑
includes/excludes 設(shè)定包含或排除哪些文件,支持通配符
fileMode 指定該目錄下的文件屬性,采用Unix八進(jìn)制描述法,默認(rèn)值是064
outputDirectory 生成目錄的路徑
files/file 與fileSets大致相同,不過是指定單個(gè)文件,并且還可以通過destName屬性來設(shè)置與源文件不同的名稱
dependencySets/dependencySet 用來設(shè)置工程依賴文件在打包時(shí)的屬性,也與fileSets大致相同
dependencySet-unpack 布爾值,false表示將依賴以原來的JAR形式打包,true則表示將依賴解成*.class文件的目錄結(jié)構(gòu)打包
dependencySet-scope 表示符合哪個(gè)作用范圍的依賴會(huì)被打包進(jìn)去。compile與provided都不用管,一般是寫runtime

特殊的spring-boot-maven-plugin打包方式

用途: 最常見應(yīng)用于spring-boot項(xiàng)目

spring-boot-maven-plugin 為基于maven-assembly-plugin的封裝,為了解決特殊的resources資源文件下的文件沖突問題. 如:spring.schemas和spring.handlers

示例:

  <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 指定該Main Class為全局的唯一入口 -->
                    <mainClass>cn.note.helper.NoteHelperApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

參考文章:https://www.kongzid.com/archives/mvn1#fulu文章來源地址http://www.zghlxwxcb.cn/news/detail-685090.html

到了這里,關(guān)于maven 常用打包方式匯總的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用Maven容器打包Java項(xiàng)目:一步步實(shí)現(xiàn)高效構(gòu)建

    在Java開發(fā)中,使用Maven作為構(gòu)建工具是一個(gè)普遍的選擇。它提供了簡(jiǎn)單易用的方式來管理依賴、編譯代碼、運(yùn)行單元測(cè)試并打包項(xiàng)目。本文將詳細(xì)介紹如何使用Maven容器打包Java項(xiàng)目,讓您的項(xiàng)目構(gòu)建過程更加高效和可靠。 在開始之前,請(qǐng)確保您已經(jīng)安裝了Maven和Docker,并設(shè)置

    2024年02月13日
    瀏覽(20)
  • 【java】maven 指定項(xiàng)目編譯與打包的JDK版本

    Maven 是一個(gè)流行的構(gòu)建工具,用于管理 Java 項(xiàng)目的依賴項(xiàng)、構(gòu)建和部署。在 Maven 中,可以指定項(xiàng)目的編譯和打包所使用的 JDK 版本。本篇博客將介紹如何在 Maven 中指定項(xiàng)目的 JDK 版本,并討論該選項(xiàng)對(duì)項(xiàng)目的影響。 在 Maven 中,可以通過在 pom.xml 文件中設(shè)置 maven.compiler.source

    2024年02月16日
    瀏覽(26)
  • maven項(xiàng)目引入私有jar,并打包到j(luò)ava.jar中

    maven項(xiàng)目引入私有jar,并打包到j(luò)ava.jar中

    私有jar存放位置 maven依賴 maven build

    2024年03月11日
    瀏覽(22)
  • java代碼大全及詳解(Java 常用代碼匯總)

    1. 字符串有整型的相互轉(zhuǎn)換 每天分享一點(diǎn),每天進(jìn)步一點(diǎn),留個(gè)小尾巴《醫(yī)院證明圖片》

    2024年02月13日
    瀏覽(32)
  • java中常用注解匯總

    1 Maven依賴?? ? 2 值校驗(yàn) 2.1 @Null注解 被注解的元素必須為null 2.2 @NotNull注解 被注解的元素必須不為null 2.3 @NotBlank注解 驗(yàn)證注解的元素值不為空(不為null、去除首位空格后長(zhǎng)度為0) ,并且類型為String。 2.4 @NotEmpty注解 驗(yàn)證注解的元素值不為null且不為空(字符串長(zhǎng)度不為0、集

    2024年02月14日
    瀏覽(20)
  • Java jackson常用注解匯總

    提起 jackson ,在日常使用中,由于涉及到各種序列化和反序列化的處理,就不能不提 注解 ,了解注解的常用方式可以極大地方便我們處理序列化,今天分享一些在使用 jackson 中涉及到的注解。 目錄 1.@JsonProperty - 字段命名 2.@JsonPropertyOrder - 字段序列化順序 3.@JsonAlias - 字段別

    2024年02月05日
    瀏覽(20)
  • 【Java從0到1學(xué)習(xí)】10 Java常用類匯總

    【Java從0到1學(xué)習(xí)】10 Java常用類匯總

    System類對(duì)讀者來說并不陌生,因?yàn)樵谥八鶎W(xué)知識(shí)中,需要打印結(jié)果時(shí),使用的都是“System.out.println();”語句,這句代碼中就使用了System類。System類定義了一些與系統(tǒng)相關(guān)的屬性和方法,它所提供的屬性和方法都是靜態(tài)的,因此,想要引用這些屬性和方法,直接使用System類調(diào)

    2024年02月12日
    瀏覽(51)
  • 【Java】匯總Java中發(fā)送HTTP請(qǐng)求的7種方式

    【Java】匯總Java中發(fā)送HTTP請(qǐng)求的7種方式

    今天在項(xiàng)目中發(fā)現(xiàn)一個(gè)功能模塊是額外調(diào)用的外部服務(wù),其采用CloseableHttpClient調(diào)用外部url中的接口…… CloseableHttpClient HTTP發(fā)送請(qǐng)求處理流程:

    2024年02月11日
    瀏覽(20)
  • SpringBoot版本與Spring、java、maven、gradle版本對(duì)應(yīng)匯總(1->3版本,收藏一波)

    SpringBoot版本與Spring、java、maven、gradle版本對(duì)應(yīng)匯總(1->3版本,收藏一波)

    Spring Boot 3.1.x Spring Boot 3.0.x Spring Boot 2.7.x Spring Boot 2.6.x Spring Boot 2.5.x Spring Boot 2.4.x Spring Boot 2.3.x Spring Boot 2.2.x Spring Boot 2.1.x Spring Boot 2.0.x Spring Boot 1.5.x? ?Spring Boot 1.4.x? Spring Boot 1.3.x?? Spring Boot 1.2.x??

    2024年02月03日
    瀏覽(20)
  • Java Stream流 Map 分組方式匯總

    java老式的分組方式(對(duì)list for循環(huán)然后 if判斷?放入map)?代碼復(fù)雜,易讀性差,維護(hù)性差,故本文匯總了Stream流中的分組方法供大家參考,如對(duì)您有幫助,請(qǐng)?zhí)Ц哔F的小手點(diǎn)個(gè)贊吧,歡迎大佬留下高見 (以下方法默認(rèn)都是java8的方法,java9新增方法有標(biāo)注) 按顏色分組 打印Map結(jié)果: {紅色

    2024年02月06日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包