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

Maven引入與打包指定目錄下的第三方sdk的幾種方法

 更新時間:2024年09月11日 10:24:55   作者:lambda.  
本文主要介紹了Maven引入與打包指定目錄下的第三方sdk的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

針對遠程倉庫沒有的jar包,應該如何引入與打包?

1、deploy到遠程倉庫

申請賬號與權限,使用mvn deploy命令發(fā)布到遠程倉庫或者是私有倉庫。

1、在Maven的conf/settings.xml文件配置遠程倉庫的認證信息

<settings>
  <!-- 配置遠程倉庫的認證信息(以id標簽為標識) -->
  <servers>
    <server>
      <id>nexus</id>
      <username>your-nexus-username</username>
      <password>your-nexus-password</password>
    </server>
  </servers>
</settings>

3、使用deploy命令發(fā)布到遠程倉庫

mvn deploy:deploy-file \
-DgroupId=com.dist.model \
-DartifactId=dist-model-api \
-Dversion=1.0.0-SNAPSHOT \
-Dpackaging=jar \
-Dfile=/Users/laizhenghua/Downloads/jar/dist-model-api-1.0.0-SNAPSHOT.jar \
-Durl=http://10.60.10.38:8081/repository/maven-releases \
-DrepositoryId=nexus

這種方式是比較推薦的,所有的依賴都在遠程倉庫上進行管理,其他人使用時直接添加GAV坐標即可,無需添加額外的配置,非常簡單與方便。

2、install到本地倉庫

mvn install:install-file \
-Dmaven.repo.local=/Users/laizhenghua/soft/maven/repository \
-DgroupId=com.dist.engine \
-DartifactId=dist-engine-material \
-Dversion=5.0.9-SNAPSHOT \
-Dpackaging=jar \
-Dfile=/Users/laizhenghua/Downloads/jar/dist-engine-material-5.0.9-SNAPSHOT.jar

# 命令參數(shù)說明
# -Dmaven.repo.local 本地倉庫位置
# -DgroupId gav坐標信息的g
# -DartifactId gav坐標信息的a
# -Dversion gav坐標信息的v
# -Dpackaging 文件類型
# -Dfile 文件

install到本地后,也是添加GAV坐標就能在當前工程引入此依賴,但是這種方式協(xié)同開發(fā)不方便,其他人也要用到此依賴時,也需要拿到jar包后,在本地手動install一下,無法做到共享。

3、通過idea的Add as Library引入

在當前工程新建lib目錄,將第三方的sdk或jar包都放到此目錄下,如

在這里插入圖片描述

在通過idea的Add as Library...功能就能引入第三方的SDK或者是jar包,如下圖

但是這種方式也有弊端,比如其他人接手此項目時,也得手動Add as Libraty...不太方便。

4、基于3的改進通過Maven配置引入

方式3有一定的局限性,我們希望其他人接手項目時,不需要做任何改動也能正常引入所有依賴正常啟動項目。

1、Maven引入指定目錄的jar,即讀取本地的jar

<!--
1.新增scope和systemPath標簽
2.${project.basedir}就是當前工程目錄
-->
<dependency>
    <groupId>com.dist.sdk</groupId>
    <artifactId>sdk-api</artifactId>
    <version>5.0.8-SNAPSHOT</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/sdk-api-5.0.8-SNAPSHOT.jar</systemPath>
</dependency>

2、增加打包掃描的配置,否則打包時不會將scope=system的依賴打進去。

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <!--增加這個配置-->
        <configuration>
            <skip>true</skip>
            <includeSystemScope>true</includeSystemScope>
        </configuration>
        <executions>
            <execution>
                <phase>none</phase>
            </execution>
        </executions>
    </plugin>
</plugins>

詳見下圖

3、打jar包發(fā)布運行時,仍然沒有把scope=system的依賴打進去,就需要新增如下配置

<resources>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
    <!--jar包添加第三方lib-->
    <resource>
        <directory>${project.basedir}/lib</directory>
        <targetPath>BOOT-INF/lib/</targetPath>
        <includes>
            <include>*.jar</include>
        </includes>
    </resource>
</resources>

4、打war包時需要通過插件配置指定lib目錄才行,如

<!--war包添加第三方lib-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <webResources>
            <resource>
                <directory>${project.basedir}/lib</directory>
                <targetPath>WEB-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </webResources>
    </configuration>
</plugin>

到此這篇關于Maven引入與打包指定目錄下的第三方sdk的文章就介紹到這了,更多相關Maven引入打包第三方sdk內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • java Jersey框架初體驗

    java Jersey框架初體驗

    本篇主要是Jersey體驗,你將在不做任何編碼的情況下,體驗Jersey框架的神氣魅力!本文還假定你在eclipse里安裝了Maven插件
    2016-07-07
  • spring boot mybatis多數(shù)據(jù)源解決方案過程解析

    spring boot mybatis多數(shù)據(jù)源解決方案過程解析

    這篇文章主要介紹了spring boot mybatis多數(shù)據(jù)源解決方案過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • springboot 如何使用jackson來處理實體類

    springboot 如何使用jackson來處理實體類

    這篇文章主要介紹了springboot使用jackson來處理實體類的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java中的CompletableFuture異步編程詳解

    Java中的CompletableFuture異步編程詳解

    這篇文章主要介紹了Java中的CompletableFuture異步編程詳解,只要提到多線程來優(yōu)化性能,那么必定離不開異步化,異步化的出現(xiàn)才是多線程優(yōu)化性能這個核心方案的基礎,需要的朋友可以參考下
    2023-12-12
  • Java基于分治法實現(xiàn)的快速排序算法示例

    Java基于分治法實現(xiàn)的快速排序算法示例

    這篇文章主要介紹了Java基于分治法實現(xiàn)的快速排序算法,結合實例形式分析了java基于分治法的快速排序相關實現(xiàn)技巧,代碼中備有較為詳細的注釋說明便于理解,需要的朋友可以參考下
    2017-12-12
  • Java并發(fā)編程實戰(zhàn)之從線程池到CompletableFuture詳解

    Java并發(fā)編程實戰(zhàn)之從線程池到CompletableFuture詳解

    文章總結了Java并發(fā)編程的關鍵點,包括線程池的最佳實踐和監(jiān)控、CompletableFuture的異步編程、并發(fā)集合與工具類的使用、原子類與CAS、Fork/Join框架等內容,強調了理解happens-before規(guī)則和內存模型的重要性
    2026-04-04
  • Mybatis基于TypeHandler實現(xiàn)敏感數(shù)據(jù)加密

    Mybatis基于TypeHandler實現(xiàn)敏感數(shù)據(jù)加密

    業(yè)務場景中經常會遇到諸如用戶手機號,身份證號,銀行卡號,郵箱,地址,密碼等等信息,屬于敏感信息,本文就來介紹一下Mybatis基于TypeHandler實現(xiàn)敏感數(shù)據(jù)加密,感興趣的可以了解一下
    2023-10-10
  • RocketMQ NameServer 核心源碼解析

    RocketMQ NameServer 核心源碼解析

    這篇文章主要為大家介紹了RocketMQ NameServer 核心源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 往DAO類中注入@PersistenceContext和@Resource的區(qū)別詳解

    往DAO類中注入@PersistenceContext和@Resource的區(qū)別詳解

    這篇文章主要介紹了往DAO類中注入@PersistenceContext和@Resource的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • java實現(xiàn)數(shù)字轉換人民幣中文大寫工具

    java實現(xiàn)數(shù)字轉換人民幣中文大寫工具

    這篇文章主要為大家詳細介紹了java實現(xiàn)數(shù)字轉換人民幣中文大寫工具,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評論

宣汉县| 右玉县| 鹤岗市| 历史| 灵武市| 云和县| 城口县| 进贤县| 民丰县| 中山市| 沙雅县| 神木县| 东源县| 扎赉特旗| 阳谷县| 巫山县| 邵阳县| 蓝田县| 湘阴县| 手游| 屯留县| 镇平县| 区。| 阿克苏市| 门源| 包头市| 临夏县| 南充市| 曲沃县| 德令哈市| 绥芬河市| 普兰县| 东山县| 渝中区| 阜城县| 南通市| 长宁县| 平凉市| 新巴尔虎右旗| 宁安市| 龙州县|