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