现在,如你所知道的,Maven的依赖管理使用的是 Maven - 仓库 的概念。但是如果在远程仓库和中央仓库中,依赖不能被满足,如何解决呢? Maven 使用外部依赖的概念来解决这个问题。
例如,让我们对在 Maven - 创建工程 部分创建的项目做以下修改:
现在,我们的工程结构应该像下图一样:
现在你有了自己的工程库(library),通常情况下它会包含一些任何仓库无法使用,并且 maven 也无法下载的 jar 文件。如果你的代码正在使用这个库,那么 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}\src\lib\ldapjdk.jar</systemPath> |
</dependency> |
</dependencies> |
</project> |
上例中, <dependencies>
的第二个 <dependency>
元素 , 阐明了外部依赖的关键概念。
希望现在你懂得了有关外部依赖的知识,你将能够在你的 Maven 工程中指定外部依赖。