Maven—依赖管理
依赖管理是Maven一个最基本也最重要的一个功能,其中涉及到pom.xml文件,中央库,远程库,本地库,依赖机制等,下面我们将对Maven依赖管理进行详细介绍。
一.pom.xml文件
每个Maven工程都会自动生成一个pom.xml文件,pom.xml里面包含了项目信息,项目所需的jar包,插件,部署等信息。在下面的示例中,groupId表示项目组Id,artifactId表示工程Id,version表示版本号。在项目发布后,如果别人项目需要引用该项目所发布的jar包,也需要groupId,artifactId,version,每个jar信息放在 < dependency> 中。
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.cups4j</groupId>
<artifactId>cups4j</artifactId>
<version>0.7.7-SNAPSHOT</version>
<packaging>jar</packaging>
<name>cups4j</name>
<description>Java printing library for CUPS/IPP</description>
<url>http://cups4j.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
二.本地库
本地库是用来存储所有项目所依赖资源的文件路径,在settings.xml的< localRepository>节点中配置,如:
<localRepository>E:\maven-repository</localRepository>
当pom.xml编写完成后,Maven会自动检测项目所需的jar包,如果本地库没有所需要的jar,则会自动到远程库下载,下载到本地库的资源可供所有项目共用。
三.远程库
远程库包括中央库,Jboss库,Java.net库,私服等。在项目中,Maven会根据pom中的< dependency>信息自动从中央库中下载项目所需的资源并保存到本地库中,如果中央库也没有所需的资源,则可以在Java.net等库中下载,不过除中央库外,其他库的依赖都需要申明在settings.xml的< repositories>中,如下:
<repositories>
<repository>
<id>java.net</id>
<url>https://maven.java.net/content/repositories/public/</url>
</repository>
</repositories>