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

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

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

背景:

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

一、延伸知識: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)境下直接運行的,但是如果用于接口調用就行不通了。SpringBoot會自帶打包插件打的包不能用。將SpringBoot會自帶打包插件打的包解壓后會看到它的目錄結構,它把包都打到BOOT-INF這個目錄下了,引用的時候我們引用不到,會報“Cannot resolve symbol”的錯。

注:

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

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

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

不會給調用方造成引入依賴或者導入外部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結尾的jar,這個不包含其他依賴jar的jar包,只包含主類的依賴。

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

總結

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

相關文章

  • Java常用的時間類以及其轉化方式

    Java常用的時間類以及其轉化方式

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

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

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

    Springboot處理配置CORS跨域請求時碰到的坑

    本篇文章介紹了我在開發(fā)過程中遇到的一個問題,以及解決該問題的過程及思路,通讀本篇對大家的學習或工作具有一定的價值,需要的朋友可以參考下
    2021-09-09
  • 服務器獲取Jar包運行目錄實現方式

    服務器獲取Jar包運行目錄實現方式

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

    mybatis使用foreach標簽進行嵌套插入

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

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

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

    Java使用Graphics2D實現字符串文本自動換行

    這篇文章主要為大家詳細介紹了Java如何使用Graphics2D實現字符串文本自動換行,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-04-04
  • SpringBoot集成內存數據庫Sqlite的實踐

    SpringBoot集成內存數據庫Sqlite的實踐

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

    Maven打包編譯出現Fileencodinghasnotbeenset問題的解決方案

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

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

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

最新評論

茂名市| 扬州市| 保亭| 吴忠市| 静宁县| 绩溪县| 宣汉县| 黄骅市| 商城县| 唐河县| 平顶山市| 盘锦市| 团风县| 浮梁县| 西华县| 嘉善县| 平湖市| 额济纳旗| 兰考县| 宜兴市| 和龙市| 河津市| 达孜县| 吉首市| 绍兴县| 疏勒县| 广汉市| 无棣县| 科尔| 虞城县| 吴忠市| 平潭县| 木里| 淄博市| 中宁县| 响水县| 乡城县| 本溪| 奈曼旗| 临桂县| 积石山|