最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven項(xiàng)目打jar包并包含所有依賴詳細(xì)教程

 更新時(shí)間:2023年05月22日 09:11:13   作者:醉夢(mèng)洛  
maven打包生成的普通jar包,只包含該工程下源碼編譯結(jié)果,不包含依賴內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于maven項(xiàng)目打jar包并包含所有依賴的相關(guān)資料,需要的朋友可以參考下

背景:

基于最近項(xiàng)目部署,需要打jar包,然后涉及接口調(diào)用,反復(fù)測(cè)試,出現(xiàn)了各種問(wèn)題,最后找到合理方案,特做以下總結(jié):

一、延伸知識(shí):Springboot打jar包命令

1.把之前打過(guò)的包通通干掉

mvn package clean -Dmaven.test.skip=true

2.重新打包

mvn package -Dmaven.test.skip=true

3. Springboot的打包插件

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

起初項(xiàng)目框架用的SpringBoot,大家都知道,它里面是有自帶打包依賴,那么問(wèn)題就是,用Springboot自帶的依賴打成jar包,是可以放在java環(huán)境下直接運(yùn)行的,但是如果用于接口調(diào)用就行不通了。SpringBoot會(huì)自帶打包插件打的包不能用。將SpringBoot會(huì)自帶打包插件打的包解壓后會(huì)看到它的目錄結(jié)構(gòu),它把包都打到BOOT-INF這個(gè)目錄下了,引用的時(shí)候我們引用不到,會(huì)報(bào)“Cannot resolve symbol”的錯(cuò)。

注:

JAR包中的/META-INF/MANIFEST.MF元數(shù)據(jù)文件必須包含Main-Class(主類)信息。

項(xiàng)目所有的依賴都必須在Classpath中,其可以通過(guò) MANIFEST.MF 指定或者隱式設(shè)置

二、想要將打的jar包用于接口調(diào)用并且還包含項(xiàng)目所有依賴

不會(huì)給調(diào)用方造成引入依賴或者導(dǎo)入外部jar包的困擾,特有以下方法:

1.在pom.xml中引入插件

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
            <descriptorRefs>
              <!--給jar包起的別名-->
              <descriptorRef>jar-with-dependencies</descriptorRef>
             </descriptorRefs>
             <archive>
                 <manifest>
                   <addClasspath>true</addClasspath>
                   <classpathPrefix>lib/</classpathPrefix>
                     <!--添加項(xiàng)目中主類-->     
                    <mainClass>com.sdt.intf.client.tools.DealConnectFile</mainClass>
                 </manifest>
             </archive>
       </configuration>
       <executions>
         <execution>
             <id>make-assembly</id>
               <phase>package</phase>
                  <goals>
                     <goal>single</goal>
                  </goals>
          </execution>
       </executions>
</plugin>

注:

①.添加完插件后,就可以開(kāi)始打包了,可以直接操作maven

②.可以用命令執(zhí)行:

通過(guò)mvn clean compaile package 將生成兩個(gè)jar  一個(gè)是沒(méi)有dependence結(jié)尾的jar,這個(gè)不包含其他依賴jar的jar包,只包含主類的依賴。

另一個(gè)是以dependence結(jié)尾jar,此jar是包含了項(xiàng)目中所有依賴的jar包

總結(jié)

到此這篇關(guān)于maven項(xiàng)目打jar包并包含所有依賴的文章就介紹到這了,更多相關(guān)maven項(xiàng)目打jar包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java常用的時(shí)間類以及其轉(zhuǎn)化方式

    Java常用的時(shí)間類以及其轉(zhuǎn)化方式

    這篇文章主要介紹了Java常用的時(shí)間類以及其轉(zhuǎn)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 一文詳解如何使用Java來(lái)發(fā)送qq郵箱郵件

    一文詳解如何使用Java來(lái)發(fā)送qq郵箱郵件

    這篇文章主要給大家介紹了關(guān)于如何使用Java來(lái)發(fā)送qq郵箱郵件的相關(guān)資料,文中降了準(zhǔn)備工作(開(kāi)啟服務(wù)并生成授權(quán)碼)、接口調(diào)用(引入依賴和編寫(xiě)接口代碼)、發(fā)送HTML格式郵件等內(nèi)容,需要的朋友可以參考下
    2024-12-12
  • Springboot處理配置CORS跨域請(qǐng)求時(shí)碰到的坑

    Springboot處理配置CORS跨域請(qǐng)求時(shí)碰到的坑

    本篇文章介紹了我在開(kāi)發(fā)過(guò)程中遇到的一個(gè)問(wèn)題,以及解決該問(wèn)題的過(guò)程及思路,通讀本篇對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 服務(wù)器獲取Jar包運(yùn)行目錄實(shí)現(xiàn)方式

    服務(wù)器獲取Jar包運(yùn)行目錄實(shí)現(xiàn)方式

    本文介紹了兩種獲取Java應(yīng)用程序運(yùn)行目錄的方法:使用`System.getProperty("user.dir")`和通過(guò)`ProtectionDomain`及`CodeSource`類,前者簡(jiǎn)單直接,但返回的是當(dāng)前工作目錄;后者更為復(fù)雜,但能準(zhǔn)確獲取JAR文件的路徑,選擇哪種方法取決于具體需求
    2025-11-11
  • mybatis使用foreach標(biāo)簽進(jìn)行嵌套插入

    mybatis使用foreach標(biāo)簽進(jìn)行嵌套插入

    數(shù)據(jù)庫(kù)插入操作常見(jiàn)于多層架構(gòu)設(shè)計(jì)中,本文提供了一個(gè)具體的實(shí)現(xiàn)方案,涉及三層實(shí)體類結(jié)構(gòu),第一層實(shí)體類負(fù)責(zé)基本數(shù)據(jù)結(jié)構(gòu)的定義,第二層和第三層實(shí)體類則提供更詳細(xì)的業(yè)務(wù)邏輯處理,同時(shí),文章還介紹了相應(yīng)的mapper接口和配置文件設(shè)置
    2024-09-09
  • maven環(huán)境變量配置以及失敗原因解析

    maven環(huán)境變量配置以及失敗原因解析

    這篇文章主要為大家詳細(xì)介紹了maven環(huán)境變量配置教程,以及為大家解析了安裝失敗的原因,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Java使用Graphics2D實(shí)現(xiàn)字符串文本自動(dòng)換行

    Java使用Graphics2D實(shí)現(xiàn)字符串文本自動(dòng)換行

    這篇文章主要為大家詳細(xì)介紹了Java如何使用Graphics2D實(shí)現(xiàn)字符串文本自動(dòng)換行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)Sqlite的實(shí)踐

    SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)Sqlite的實(shí)踐

    sqlite這樣的內(nèi)存數(shù)據(jù)庫(kù),小巧可愛(ài),做小型服務(wù)端演示程序,非常好用,本文主要介紹了SpringBoot集成Sqlite,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • Maven打包編譯出現(xiàn)Fileencodinghasnotbeenset問(wèn)題的解決方案

    Maven打包編譯出現(xiàn)Fileencodinghasnotbeenset問(wèn)題的解決方案

    在使用Maven進(jìn)行項(xiàng)目構(gòu)建時(shí),有時(shí)會(huì)遇到??File encoding has not been set??的錯(cuò)誤提示,這個(gè)問(wèn)題通常出現(xiàn)在Maven嘗試編譯Java源文件時(shí),本文將詳細(xì)介紹該問(wèn)題的原因、解決方法以及如何避免類似問(wèn)題再次發(fā)生,需要的朋友可以參考下
    2025-11-11
  • 揭秘Spring核心注解@Configuration與@Component的本質(zhì)區(qū)別

    揭秘Spring核心注解@Configuration與@Component的本質(zhì)區(qū)別

    在Spring框架中,@Configuration和@Component都是常用的注解,但它們有著本質(zhì)的區(qū)別,本文將深入剖析這兩者的核心區(qū)別,并通過(guò)代碼示例展示它們的實(shí)際行為差異
    2025-07-07

最新評(píng)論

赫章县| 顺昌县| 阜康市| 石楼县| 湘阴县| 民丰县| 乡宁县| 禄劝| 赫章县| 兰考县| 镇康县| 东丽区| 玛多县| 玛沁县| 大冶市| 桑植县| 宣汉县| 新疆| 乐平市| 杨浦区| 景宁| 盐源县| 淄博市| 平安县| 秭归县| 图片| 什邡市| 句容市| 新泰市| 昆明市| 哈巴河县| 定南县| 江源县| 繁昌县| 西昌市| 云南省| 尼勒克县| 保德县| 宁明县| 红河县| 黄冈市|