Maven外部依賴

正如大家所瞭解的那樣,Maven確實使用 Maven 庫的概念作依賴管理。但是,如果依賴是在遠程存儲庫和中央存儲庫不提供那會怎麼樣? Maven 提供爲使用外部依賴的概念,就是應用在這樣的場景中的。

舉一個例子,讓我們在 Maven創建項目 這一章節中創建的項目做以下的修改。

  • 添加 lib 文件夾到 src 文件夾

  • 複製任何的 jar 到 lib 文件夾。這裏使用的是 ldapjdk.jar,這是 LDAP 操作的輔助庫。

現在我們的項目結構看起來應該類似下面這樣:

external

在這裏,在項目中指定自己所用的庫,它可以包含 jar 文件,但是可能無法在任何 Maven 存儲庫找到,那麼需要從部下載。如果代碼使用這個 Maven 庫但沒有辦法找到,那麼 Maven 構建將會失敗,因爲它在編譯階段使用指這個庫無法下載或無法找到。

要處理這種情況,需要添加外部依賴項,如使用下列方式在 Maven 的 pom.xml 。


4.0.0
com.companyname.bank
consumerBanking
jar
1.0-SNAPSHOT
consumerBanking
http://maven.apache.org

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

再看上面例子中的第二個依賴元素(dependency),它清除以下有關外部依賴的重要概念。

  • 外部依賴(JAR庫的位置)可以在 pom.xml 中配置爲與其他依賴的方式相同;

  • 指定 groupId 同樣作爲庫的名稱;

  • 指定 artifactId 同樣作爲庫的名稱

  • 指定範圍的系統;

  • 指定相系統項目的位置;

通過本章節的學習,希望現在你清楚瞭解外部依賴,能夠在 Maven 項目指定外部依賴。