(一)maven依赖机制
当建立一个Maven的项目,pom.xml文件将被解析,如果看到 log4j 的 Maven 坐标,然后 Maven 按此顺序搜索 log4j 库:
- 在 Maven 的本地仓库搜索 log4j
- 在 Maven 中央存储库搜索 log4j
- 在 Maven 远程仓库搜索 log4j(如果在 pom.xml 中定义)
(二)maven本地资源库
Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。通常情况下,可改变默认的 .m2 目录下的默认本地存储库文件夹到其他更有意义的名称。找到 {M2_HOME}\conf\setting.xml, 更新 localRepository 到其它名称。
例如:
<settings><!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ~/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
--><localRepository>D:\software\yiibai.com\apache-maven\repository</localRepository>
(三)maven中央存储库
当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 – http://search.maven.org/查找下载。
(四)maven添加远程仓库
默认情况下,Maven从Maven中央仓库下载所有依赖关系。但是,并不是所有的依赖都有,有很多 jar 不支持 Maven 的,只有在Java.net或JBoss的储存库远程仓库中能找到。
1. Java.net资源库
添加Java.net远程仓库的详细信息在“pom.xml”文件。
pom.xml
<project ...>
<repositories>
<repository>
<id>java.net</id>
<url>https://maven.java.net/content/repositories/public/</url>
</repository>
</repositories>
</project>
2. JBoss Maven存储库
1. 添加JBoss远程仓库的详细信息在 “pom.xml” 文件中。
pom.xml
<project ...>
<repositories>
<repository>
<id>JBoss repository</id>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>
</project>
(五)将定制库到maven本地资源库
kaptcha,它是一个流行的第三方Java库,它被用来生成 “验证码” 的图片,以阻止垃圾邮件,但它不在 Maven 的中央仓库中。
在本教程中,我们将告诉你如何安装 “kaptcha” jar 到Maven 的本地资源库。
1. mvn 安装
下载 “kaptcha”,将其解压缩并将 kaptcha-version.jar 复制到其他地方,比如:C盘。发出下面的命令:
mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=jar
示例:
D:\>mvn install:install-file -Dfile=c:\kaptcha-2.3.jar -DgroupId=com.google.code
-DartifactId=kaptcha -Dversion=2.3 -Dpackaging=jar
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'install'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [install:install-file] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [install:install-file]
[INFO] Installing c:\kaptcha-2.3.jar to
D:\maven_repo\com\google\code\kaptcha\2.3\kaptcha-2.3.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Tue May 12 13:41:42 SGT 2014
[INFO] Final Memory: 3M/6M
[INFO] ------------------------------------------------------------------------
现在,“kaptcha” jar被复制到 Maven 本地存储库。
2. pom.xml
安装完毕后,就在 pom.xml 中声明 kaptcha 的坐标。
<dependency>
<groupId>com.google.code</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3</version>
</dependency>
3. 完成
构建它,现在 “kaptcha” jar 能够从你的 Maven 本地存储库检索了。