位置:首頁 > Java技術 > Maven教學 > Maven外部依賴

Maven外部依賴

現在,你也知道Maven做依賴管理使用Maven倉庫的概念。但是,如果依賴是不提供任何遠程存儲庫和中央存儲庫發生了什麼? Maven提供為使用外部依賴的概念,應用在這樣的場景。

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

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

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

現在我們的項目結構看起來應該像下麵的:

external repository project structure

在這裡,有自己的特定項目,這是很平常案例庫,它可以包含jar文件可能無法在任何Maven存儲庫,那麼需要下載。如果代碼使用這個Maven庫,那麼Maven構建將失敗,因為它無法下載或在編譯階段是指這個庫。

要處理這種情況,讓我們來添加這個外部依賴項中使用下列方式到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}srclibldapjdk.jar</systemPath>
      </dependency>
   </dependencies>

</project>

先看下依賴性在上麵的例子,清除下列有關外部相關的關鍵概念第二dependency元素。

  • 外部依賴(jar庫位置)可以在pom.xml中以同樣的方式與其他依賴關係進行配置。

  • 指定的groupId一樣的庫名稱。

  • 指定artifactId的相同庫的名稱。

  • 指定範圍的係統。

  • 指定相係統項目的位置。

希望現在你清楚了解外部依賴,能夠指定在Maven項目的外部依賴。