一、 MAVEN安装
1、所需工具 :
- JDK 1.8
- Maven 3.3.3
- Windows 7
注
Maven 3.2 要求 JDK 1.6 或以上版本, 而 Maven 3.0/3.1 需要 JDK 1.5 或以上
2、下载Apache Maven
访问 Maven官方网站,打开后找到下载链接,如下:
下载 Maven 的 zip 文件,例如: apache-maven-3.5.2-bin.zip,将它解压到你要安装 Maven 的文件夹。
假设你解压缩到文件夹 – C:\java\apache-maven-3.5.2
3、添加 M2_HOME 和 MAVEN_HOME
A:添加 M2_HOME 和 MAVEN_HOME 环境变量到 Windows 系统环境变量,并将其指向你的 Maven 文件夹。
B:Maven 说只是添加 M2_HOME , 但一些项目仍引用 Maven 的文件夹 MAVEN_HOME, 因此,为了安全也把它添加进去。
4、添加到环境变量 - PATH 及验证MAVEN
A:更新 PATH 变量,添加 Maven bin 文件夹到 PATH 的最后,如: %M2_HOME%\bin, 这样就可以在命令中的任何目录下运行 Maven 命令了。
B:在命令提示符下执行 mvn –version ,如下图输出结果:
一、 Maven启用代理访问
如果你的公司正在建立一个防火墙,并使用HTTP代理服务器来阻止用户直接连接到互联网。如果您使用代理,Maven将无法下载任何依赖。
为了使它工作,你必须声明在 Maven 的配置文件中设置代理服务器:settings.xml。
1、Maven配置文件
找到文件 {M2_HOME}/conf/settings.xml, 并把你的代理服务器信息配置写入。注:{M2_HOME} => C:\java\apache-maven-3.5.2
{M2_HOME}/conf/settings.xml
2、保存文件
完成后,Apache Maven 应该是能够通过代理服务器立即连接到Internet。
注意:重新启动不是必需的。Maven 只是一个命令,当你调用它,它会再次读取该文件。
三、Maven本地资源库
Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。很简单,当你建立一个Maven项目,所有相关文件将被存储在你的Maven本地仓库。
默认情况下,Maven的本地资源库默认为 .m2 目录文件夹:
- Unix/Mac OS X – ~/.m2
- Windows – C:\Documents and Settings\{your-username}\.m2
1、更新Maven的本地库
通常情况下,可改变默认的 .m2 目录下的默认本地存储库文件夹到其他更有意义的名称,例如, maven-repo
找到 {M2_HOME}\conf\setting.xml, 更新 localRepository 到其它名称。
{M2_HOME}\conf\setting.xml
<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\yao.com\apache-maven\repository</localRepository>
2、保存文件
执行之后,新的 Maven 本地存储库现在改为 D:\software\yiibai.com\apache-maven\repository.
执行命令:
C:\worksp> mvn archetype:generate -DgroupId=com.yao -DartifactId=NumberGenerator -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
四、Maven中央存储库
当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 – http://search.maven.org/ 查找下载。
1、如何从Maven远程存储库下载
在Maven中,当你声明的库不存在于本地存储库中,也没有不存在于Maven中心储存库,该过程将停止并将错误消息输出到 Maven 控制台。
1.1 示例
org.jvnet.localizer 只适用于 Java.net资源库
pom.xml
<dependency>
<groupId>org.jvnet.localizer</groupId>
<artifactId>localizer</artifactId>
<version>1.8</version>
</dependency>
当你建立这个 Maven 项目,它将依赖找不到失败并输出错误消息。
1.2 声明Java.net储存库
告诉 Maven 来获得 Java.net 的依赖,你需要声明远程仓库在 pom.xml 文件这样:
pom.xml
<repositories>
<repository>
<id>java.net</id>
<url>https://maven.java.net/content/repositories/public/</url>
</repository>
</repositories>
现在,Maven的依赖库查询顺序更改为:
- 在 Maven 本地资源库中搜索,如果没有找到,进入第 2 步,否则退出。
- 在 Maven 中央存储库搜索,如果没有找到,进入第 3 步,否则退出。
- 在java.net Maven的远程存储库搜索,如果没有找到,提示错误信息,否则退出。
2、定制库到Maven本地资源库
要使用的 jar 不存在于 Maven 的中心储存库中。
您创建了一个自定义的 jar ,而另一个 Maven 项目需要使用。
这时如何操作?
案例学习
例如,kaptcha,它是一个流行的第三方Java库,它被用来生成 “验证码” 的图片,以阻止垃圾邮件,但它不在 Maven 的中央仓库中。
在本教程中,我们将告诉你如何安装 “kaptcha” 到Maven 的本地资源库。
2.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.2 pom.xml
安装完毕后,就在 pom.xml 中声明 kaptcha 的坐标。
<dependency>
<groupId>com.google.code</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3</version>
</dependency>
3. 完成
构建它,现在 “kaptcha” jar 能够从你的 Maven 本地存储库检索了。