Maven添加外部依賴

Maven添加外部依賴


Maven - 外部依賴

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

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

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

現在,我們的工程結構應該像下圖一樣:

Maven添加外部依賴

external-project-structure

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

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

<project> 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>
http://maven.apache.org
<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> 元素 , 闡明瞭外部依賴的關鍵概念。/<dependency>/<dependencies>

  • 外部依賴(library jar location)能夠像其他依賴一樣在 pom.xml 中配置。
  • 指定 groupId 為 library 的名稱。
  • 指定 artifactId 為 library 的名稱。
  • 指定作用域(scope)為系統。
  • 指定相對於工程位置的系統路徑。


分享到:


相關文章: