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

maven項目打jar包并包含所有依賴詳細教程

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

背景:

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

一、延伸知識:Springboot打jar包命令

1.把之前打過的包通通干掉

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>

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

注:

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

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

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

不會給調(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>
                     <!--添加項目中主類-->     
                    <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>

注:

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

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

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

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

總結(jié)

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

相關(guān)文章

  • Java+TestNG接口自動化入門詳解

    Java+TestNG接口自動化入門詳解

    本文主要介紹了Java+TestNG接口自動化入門,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Java定時任務(wù):利用java Timer類實現(xiàn)定時執(zhí)行任務(wù)的功能

    Java定時任務(wù):利用java Timer類實現(xiàn)定時執(zhí)行任務(wù)的功能

    本篇文章主要介紹了利用java Timer類實現(xiàn)定時執(zhí)行任務(wù)的功能,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • 淺談Java中GuavaCache返回Null的注意事項

    淺談Java中GuavaCache返回Null的注意事項

    Guava在實際的Java后端項目中應(yīng)用的場景還是比較多的,比如限流,緩存,容器操作之類的,本文主要介紹了GuavaCache返回Null的注意事項,感興趣的可以了解一下
    2021-10-10
  • Java字母加數(shù)字組合比較大小

    Java字母加數(shù)字組合比較大小

    這篇文章主要通過實現(xiàn)Comarable接口來比較(如"a20"和"a9"這種)字符串的大小,希望能給大家做一個參考。
    2016-06-06
  • Java轉(zhuǎn)JSON串的幾種方式

    Java轉(zhuǎn)JSON串的幾種方式

    本文給大家總結(jié)一下java轉(zhuǎn)json串的幾種方式,每種方式通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨腳本之家小編一起學習吧
    2018-05-05
  • Spring?Boot使用HMAC-SHA256對訪問密鑰加解密

    Spring?Boot使用HMAC-SHA256對訪問密鑰加解密

    本文主要介紹了使用HMAC-SHA256算法進行客戶端和服務(wù)端之間的簽名驗簽,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • Java日期時間使用方法匯總

    Java日期時間使用方法匯總

    這篇文章主要針對Java日期時間使用方法進行匯總,感興趣的朋友可以參考一下
    2016-03-03
  • 詳解Java8?CompletableFuture的并行處理用法

    詳解Java8?CompletableFuture的并行處理用法

    Java8中有一個工具非常有用,那就是CompletableFuture,本章主要講解CompletableFuture的并行處理用法,感興趣的小伙伴可以了解一下
    2022-04-04
  • 關(guān)于SpringBoot的自動裝配原理詳解

    關(guān)于SpringBoot的自動裝配原理詳解

    這篇文章主要介紹了關(guān)于SpringBoot的自動裝配原理詳解,Spring?Boot自動裝配原理是指Spring?Boot在啟動時自動掃描項目中的依賴關(guān)系,根據(jù)依賴關(guān)系自動配置相應(yīng)的Bean,從而簡化了Spring應(yīng)用的配置過程,需要的朋友可以參考下
    2023-07-07
  • 一文弄懂fastjson

    一文弄懂fastjson

    fastjson?是一個java語言編寫的高性能且功能完善的JSON庫,本文主要介紹了fastjson的使用,具有一定的參考價值,感興趣的可以了解一下
    2023-05-05

最新評論