Maven添加外部依賴

Maven - 外部依賴

現(xiàn)在,如你所知道的,Maven的依賴管理使用的是 Maven - 倉庫 的概念。但是如果在遠程倉庫和中央倉庫中,依賴不能被滿足,如何解決呢? Maven 使用外部依賴的概念來解決這個問題。

例如,讓我們對在 Maven - 創(chuàng)建工程 部分創(chuàng)建的項目做以下修改:

  • 在 src 文件夾下添加 lib 文件夾
  • 復制任何 jar 文件到 lib 文件夾下。我們使用的是 ldapjdk.jar ,它是為 LDAP 操作的一個幫助庫

現(xiàn)在,我們的工程結(jié)構(gòu)應該像下圖一樣:

external-project-structure

現(xiàn)在你有了自己的工程庫(library),通常情況下它會包含一些任何倉庫無法使用,并且 maven 也無法下載的 jar 文件。如果你的代碼正在使用這個庫,那么 Maven 的構(gòu)建過程將會失敗,因為在編譯階段它不能下載或者引用這個庫。

為了處理這種情況,讓我們用以下方式,將這個外部依賴添加到 maven pom.xml 中。

<project xmlns="http://maven.apache.org/POM/4.0.0" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
       http://maven.apache.org/maven-v4_0_0.xsd">
       <modelVersion>4.0.0</modelVersion>
       <groupId>com.companyname.bank</groupId>
       <artifactId>consumerBanking</artifactId>
       <packaging>jar</packaging>
       <version>1.0-SNAPSHOT</version>
       <name>consumerBanking</name>
       <url>http://maven.apache.org</url>

       <dependencies>
          <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>3.8.1</version>
             <scope>test</scope>
          </dependency>

          <dependency>
             <groupId>ldapjdk</groupId>
             <artifactId>ldapjdk</artifactId>
             <scope>system</scope>
             <version>1.0</version>
             <systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath>
          </dependency>
       </dependencies>

    </project>

上例中, <dependencies> 的第二個 <dependency> 元素 , 闡明了外部依賴的關(guān)鍵概念。

  • 外部依賴(library jar location)能夠像其他依賴一樣在 pom.xml 中配置。
  • 指定 groupId 為 library 的名稱。
  • 指定 artifactId 為 library 的名稱。
  • 指定作用域(scope)為系統(tǒng)。
  • 指定相對于工程位置的系統(tǒng)路徑。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,275評論 6 342
  • 簡介 概述 Maven 是一個項目管理和整合工具 Maven 為開發(fā)者提供了一套完整的構(gòu)建生命周期框架 Maven...
    閩越布衣閱讀 4,535評論 6 39
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,591評論 19 139
  • |-1-更新內(nèi)容[6.從倉庫解析依賴的機制(重要)] 1Maven倉庫作用 倉庫用來存儲所有項目使用到構(gòu)件,在ma...
    zlcook閱讀 6,458評論 0 25
  • 芳草碧連天,青山倒影纏。 通篇油畫色,一體似渾然。 注:仄起首句入韻,中華新韻。
    荷塘月色131419閱讀 220評論 0 5

友情鏈接更多精彩內(nèi)容