第1章 Maven的客户端安装和配置
1.1 在Windows上安装Maven
1.1.1 检查JDK安装
在安装Maven之前,首先要确认你已经正确安装了JDK。Maven可以运行在JDK 1.4及以上的版本上。本书的所有样例都基于JDK 5及以上版本。打开Windows的命令行,运行如下的命令来检查你的Java安装:
C:\Users\Jet>echo %JAVA_HOME%
C:\Users\Jet>java -version
结果如图2-1所示:
图2-1 Windows中检查Java安装
上述命令首先检查环境变量JAVA_HOME是否指向了正确的JDK目录,接着尝试运行java命令。如果Windows无法执行java命令,或者无法到JAVA_HOME环境变量。你就需要检查Java是否安装了,或者环境变量是否设置正确。
1.1.2 下载Maven
请访问Maven的下载页面:/download.html
1.1.3 本地安装
将安装文件解压到你指定的目录中,如:
D:\apache-maven-3.0.3
这里的Maven安装目录是D:\apache-maven-3.0,接着需要设置环境变量,将Maven安装配置到操作系统环境中。
下载apache打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高级系统设置,再点击环境变量,在系统变量中新建一个变量,变量名为M2_HOME,变量值为Maven的安装目录D:
\apache-maven-3.0。点击确定,接着在系统变量中到一个名为Path的变量,在变量值的末尾加上%M2_HOME%\bin;,注意多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成,详细情况如图2-2所示:
图2-2 Windows中系统环境变量配置
这里需要提一下的是Path环境变量,当我们在cmd中输入命令时,Windows首先会在当前目录中寻可执行文件或脚本,如果没有到,Windows会接着遍历环境变量Path中定义的路径。由于我们将%M2_HOME%\bin添加到了Path中,而这里%M2_HOME%实际上是引用了我们前面定义的另一个变量,其值是Maven的安装目录。因此,Windows会在执行命令时搜索目录D:\apache-maven-3.0\bin,而mvn执行脚本的位置就是这里。
运行如下命令检查Maven的安装情况:
C:\Users\Juven Xu>echo %M2_HOME%
C:\Users\Juven Xu>mvn -v
运行结果如图2-3所示:
图2-3 Windows中检查Maven安装
第一条命令echo %M2_HOME%用来检查环境变量M2_HOME是否指向了正确的Maven安装目录;而mvn –version执行了第一条Maven命令,以检查Windows是否能够到正确的mvn执行脚本。
1.1.4 设置maven本地仓库
仓库地址会默认下载到 C:\Users\Administrator\.m2 下面 ,如果不想下到C盘 ,可以在maven 安装包里面的 conf文件夹下面的 l文件里面加上
<localRepository>D:\repository</localRepository> 就会下载到D:\repositroy里面。
修改完成之后 进入DOS 窗口输入:mvn help:system 运行这条命令的就会下载maven-help-plugin,包括pom文件和jar文件,这些都会被下载到 maven的本地仓库
下载完之后 我们的把 apache-maven-3.0 里面的 l 文件复制到 本机的 .m2 文件夹下面 这样不直接修改 maven自带配置文件 有利于maven的升级。 然后打开l 加上
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>10.10.10.137:8888/nexus/content/groups/public</url>
</mirror>
</mirrors>
第2章 Maven仓库管理器
2.1安装Nexus
2.1.1. 从Sonatype下载Nexus
你可以从到关于Nexus的信息。要下载Nexus,访
问/downloads/。点击下载链接,下载适用于你平台的存档
文件。Nexus目前有ZIP和Gzip归档的TAR两种可用形式。
2.1.2. 安装Nexus
直接把解压文件 放到tomcat D:\apache-tomcat-5.5.28\webapps 下面启动tomcat就Ok啦
然后输入URL:localhost:8080/nexus。链
接,你应该看到如下
点击右上角的 log in 进行登录
默认的NEXUS用户名和密码是"admin" 和 "admin123"。
仓库管理器
2.1.3. 安装后检查单
Nexus带有默认的密码和仓库索引设置,它们都需要更改以满足你的安装需要(以及安
全)。安装完并运行了Nexus后,你需要确认你完成了下列任务:
开启远程索引下载
Nexus带有三个重要的代理仓库,有中央Maven仓库,Apache快照仓库,和
Codehaus快照仓库。它们中的每一个仓库都包含了数千(或数万)的构件,下载
每个仓库的所有内容是不切实际的。处于这个原因,大部分仓库维护了一个编录
了整个内容的Lucene索引,以提供快速和有效的搜索。Nexus使用这些远程索引
搜索构件,但是默认设置我们关闭了索引下载。要下载远程索引,
1. 点击view/Repositorites菜单下面的Repositories,更改三个代理仓库的
Download Remote Indexes为true。
2. 在每个代理仓库上右击然后选择Re-index。这会触发Nexus下载远程的索引文
件。
Nexus下载整个索引可能需要好几分钟,但是一旦你下载好之后,你就能够搜索
Maven仓库的所有内容了。
注意
Sonatype想要确信没有创建一个会在默认情况下对中央仓库造成大量拥挤的
产品。虽然大部分用户会想要开启远程索引下载,我们还是不想使之成为默
认设置,当数百万用户下载一个新版本的Nexus继而不断的下载这个21MB的
中央索引的时候,会制造对我们自己的拒绝服务攻击。如果你想要Nexus返
回全部的搜索结果,你就必须显式的开启远程索引下载。
2.2. 使用Nexus
2.2.1. 浏览仓库
Nexus最直接的用途之一就是浏览Maven仓库的结构。如果你点击Views菜单下的Browse
Repositories菜单项。 “浏览一个Nexus仓库”中的上面一半给你显示了带有
仓库类型和仓库状态的组列表和仓库列表。
仓库管理器
浏览一个Nexus仓库
当你浏览一个仓库的时候,你可以在任意一个文件上右击然后直接下载到你本地。这能
让你手工获取某个特定的构件,或者在浏览器中检查一个POM文件。
仓库管理器
364
2.2.2. 浏览组
Nexus包含排序好的仓库组,它们能让你通过一个单独的URL来暴露一系列的仓库。通
常情况下,一个组织会指向两个默认的Nexus组:Public Repositories组和Public
Snapshot Repositories组。很多最终用户不需要知道哪些构件来自哪个特定的仓库,
他们只需要能够浏览公共仓库组就可以了。为了支持这个用例,Maven允许你浏览一个
Nexus组的内容,它就像是一归并而来的树状的仓库。
2.2.3. 搜索构件
在左边的导航区域,紧靠放大镜有一个构件搜索输入框。要通过groupId或者
artifactId搜索一个构件,输入一些文本然后点击放大镜。输入字段"maven"然后点击
放大镜会产生“关键词为"maven"的构件搜索结果”的搜索结果。
在你出你在要的构件之后,你可以点击Download链接来下载这个构件。Nexus每次
为你显示50条结果,并且为你浏览其它搜索结果在底部提供了链接。如果你更喜欢看到
所有匹配构件的列表,你可以在搜索结果面板底部的下拉菜单中选择Fetch All。
除了通过一个groupId或者一个artifactId搜索,Nexus还有一个功能能让你通过校验和
来搜索一个构件。
2.2.4. 配置Maven使用Nexus
要使用Nexus,你需要配置Maven去检查Nexus而非公共的仓库。为此,你需要编辑在你
的~/.l文件中的mirror配置。首先,我们会演示如何配置Maven去检查
你的Nexus安装而非直接从中央Maven仓库获取构件。在我们覆盖了中央仓库并演示了
Nexus可以工作之后,我们会转回来,提供一个更实际的,包含发布版和快照版的配置
集合。
2.2.5. 使用Nexus中央代理仓库
要配置Maven去查阅Nexus而非中央Maven仓库,在你的~/.l文件中添加
<?xml version="1.0"?>
<settings>
...
<mirrors>
<mirror>
<id>Nexus</id>
<name>Nexus Public Mirror</name>
<url>10.10.10.137:8888/nexus/content/groups/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
...
</settings>
在你将Nexus配置成所有仓库的镜像之后,Maven现在会从本地的Nexus安装查阅,而非
去外面查阅中央Maven仓库。如果对Nexus有一个构件请求,本地的Nexus安装会提供这
个构件。如果Nexus没有这个构件,Nexus会从远程仓库获取这个构件,然后添加至远程
仓库的本地镜像。
要测试Nexus如何工作的,从你的本地Maven仓库中删除一个目录,然后运行Maven构
建。如果你删除了~/.m2/repository/org,你会删除一大堆的依赖(包括Maven 插
件)。下次你运行Maven的时候,你应该看到如下的信息:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论