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

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(主類(lèi))信息。

項(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)目中主類(lèi)-->     
                    <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包,只包含主類(lèi)的依賴。

另一個(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+TestNG接口自動(dòng)化入門(mén)詳解

    Java+TestNG接口自動(dòng)化入門(mén)詳解

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

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

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

    淺談Java中GuavaCache返回Null的注意事項(xiàng)

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

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

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

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

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

    Spring?Boot使用HMAC-SHA256對(duì)訪問(wèn)密鑰加解密

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

    Java日期時(shí)間使用方法匯總

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

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

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

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

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

    一文弄懂fastjson

    fastjson?是一個(gè)java語(yǔ)言編寫(xiě)的高性能且功能完善的JSON庫(kù),本文主要介紹了fastjson的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-05-05

最新評(píng)論