現(xiàn)在,如你所知道的,Maven的依賴(lài)管理使用的是 Maven - 倉(cāng)庫(kù) 的概念。但是如果在遠(yuǎn)程倉(cāng)庫(kù)和中央倉(cāng)庫(kù)中,依賴(lài)不能被滿(mǎn)足,如何解決呢? Maven 使用外部依賴(lài)的概念來(lái)解決這個(gè)問(wèn)題。
例如,讓我們對(duì)在 Maven - 創(chuàng)建工程 部分創(chuàng)建的項(xiàng)目做以下修改:
現(xiàn)在,我們的工程結(jié)構(gòu)應(yīng)該像下圖一樣:
現(xiàn)在你有了自己的工程庫(kù)(library),通常情況下它會(huì)包含一些任何倉(cāng)庫(kù)無(wú)法使用,并且 maven 也無(wú)法下載的 jar 文件。如果你的代碼正在使用這個(gè)庫(kù),那么 Maven 的構(gòu)建過(guò)程將會(huì)失敗,因?yàn)樵诰幾g階段它不能下載或者引用這個(gè)庫(kù)。
為了處理這種情況,讓我們用以下方式,將這個(gè)外部依賴(lài)添加到 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>
的第二個(gè) <dependency>
元素 , 闡明了外部依賴(lài)的關(guān)鍵概念。
希望現(xiàn)在你懂得了有關(guān)外部依賴(lài)的知識(shí),你將能夠在你的 Maven 工程中指定外部依賴(lài)。
更多建議: