在学习Selenium的过程中,接触到了Maven(项目管理工具),不至于学一路忘一路,左耳朵进右耳多出,还是决定边学边记录,毕竟听的不如 看的,看的不如写的吗。首先学一样东西,肯定得明确学的是什么,学了以后在工作中起到什么作用,实际点是,学完这东西能给自己带来多少的Money的增 值。好了,话不多说了,进入主题。
Maven是一种基于项目对象模型(POM)的项目管理工具,它可以通过一段描述信息来管理项目的构建。Maven主要是由一个项目对象模型(POM), 一组标准集合,Maven的项目生命周期(当运行 mvn install的时候被调用),一个依赖管理系统(Dependency Management System)和用来运行定义在生命周期阶段中的插件目标的逻辑。同时它也能方便的帮你管理项目报告,生成站点,管理Jar包。 (这些介绍的百度谷歌挺多而且更详细)
1. 配置Maven的环境属性
1. 配置Java的环境变量(省略)
2. 下载Maven的配置包: http://maven.apache.org/download.cgi
3. 在环境变量中添加Java_Home
4. 编辑Path,添加Maven的Bin文件夹路径
5. 验证Maven成功配置, “mvn –version”(查看Maven的版本信息)
2. Maven本地仓库插件下载
大家如果觉得下面的本地仓库插件下载步骤太过麻烦,可以直接下载我打包好的本地仓库(最基本的插件,使用之前修改setting.xml文件中的本地源地址),
Maven本地仓库地址: http://pan.baidu.com/share/link?shareid=2902566318&uk=876643834&third=15
-
修改本地仓库的存储路径
默认情况下下载的Maven插件都存储在${user.home}/.m2/repository,但是我们一般都不会希望把这些文件存放在C盘下, 可以编辑 \apache-maven-3.2.5\conf 下的settings.xml 文件来修改仓库的存储路径:
修改<localRepository>,指定自定义路径,我这里指定的是“D:/Junit/Maven/LocalRepository“,然后将settings.xml 拷贝到“D:/Junit/Maven/LocalRepository“路径下。
<!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <localRepository>D:/Junit/Maven/LocalRepository</localRepository>
-
修改本地镜像源
要是网络环境没有任何问题,不存在长城防火墙,我们也就不需要指定其它镜像源了,但是由于这些网络问题的限制,无法访问中央仓库,在这各种报错啊。所以不得不寻找其它可用的镜像源了(由于楼主本人也是新手,需要用了才开始看的Maven,在这块地方遇到了太多的坑,哎。。。一万只草泥马奔腾而过啊),吐槽的话也不先说了。
同样是修改settings.xml ,注释掉之前的中央仓库的地址,添加新的镜像源地址,请参考下面的文件(直接复制到你所用的xml文件中就OK了)经过反复试验
http://mirrors.ibiblio.org/pub/mirrors/maven2 是没有问题的。 修改完后,可以完美解决访问不了中央仓库导致报错的问题。
-<mirrors> <!-- mirror | Specifies a repository mirror site to use instead of a given repository. The repository that | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used | for inheritance and direct lookup purposes, and must be unique across the set of mirrors. | <mirror> <id>mirrorId</id> <mirrorOf>repositoryId</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://my.repository.com/repo/path</url> </mirror> --> -<mirror> <id>ibiblio.org</id> <name>ibiblio Mirror of http://repo1.maven.org/maven2/</name> <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url> <mirrorOf>central</mirrorOf> <!-- United States, North Carolina --> </mirror> -<mirror> <id>jboss-public-repository-group</id> <mirrorOf>central</mirrorOf> <name>JBoss Public Repository Group</name> <url>http://repository.jboss.org/nexus/content/groups/public</url> </mirror> </mirrors>
-
验证Maven配置是否有效
打开CMD,输入”mvn help: system“, 看到 ”Build Success“基本上就成功了(由于会下载大量的Maven的插件文件,这个过程会大概持续30-50分钟,依赖于每个人的网速了)。
有点需要注意的: 在这个过程中可能由于网络问题出现停止运行(下载包的过程中)或者出现Error(由于某些问题没有权限访问某个包的文件):
- 如果出现的是停止运行,一直卡在下载包的过程中,这个时候我们可以终止运行,然后重新运行命令 ”mvn help: system“,可以解决卡住的问题。
- 如果出现的是Error信息:可以通过Error信息的提示,到镜像源的地址(http://mirrors.ibiblio.org/pub/mirrors/maven2 )下找到相关的包手动下载如果镜像源地址下找不到相应的jar包,可以到中心仓库下手动下载(http://search.maven.org/),然后将下载的包拷贝到本地源仓库的对应路径下。
举个例子,我们可以看到下面的这个错误,而且这个包在镜像源下找不到,我们就到中心仓库下手动下载这个包,然后拷贝到对应目录下面:
3. 通过命令创建一个Maven项目
运行命令 (第一次运行的时候,由于需要下载相应的jar包,会需要一定的时间,等着吧。完成以后在相应的目录下会产生一个maven项目),在这个过程中如过出现上面的问题,解决请参考上面的方法。(DgroupId, DartifactId, Dversion是必须指定的在创建Maven项目的时候)
mvn archetype:generate -DgroupId=com.lt.Maven -DartifactId=MavenDemon1 -DpackageName=com.lt.Maven -Dversion=1.0
DgroupId: 代表一个Project Group的标示符,比如说正在执行一个关于Selenium的项目,我们就能面命为Selenium,然后这个group下面全都是关于Selenium的项目
DartifactId: 代表的是一个project的唯一标示符,就是创建的Java Project指定的名字
Dversion: 代表的是一个项目的版本,相当于一个snapshot
创建完一个maven项目后,我们进入到maven项目的目录下,发现所创建的项目并不是正常的Eclipse项目的目录结构,我们需要对Maven项目进行编译通过命令
mvn clean compile
mvn eclipse:eclipse
4. 项目Jar包更新
有时候我们需要用到最新的jar包,默认情况下maven使用的是Junit3但是作为Junit4的长期使用者,这个时候我们就需要更新仓库中的jar包了。我们只需要编辑该项目下的pom.xml文件,将junit对应的版本改成”4.11“就行了。如果我们想添加别的依赖,只需要添加<dependency>xxx</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>com.lt.Maven</groupId>
<!--当前项目中的唯一标示符 --> <artifactId>MavenDemon1</artifactId>
<!-- 当前项目开发的版本 --> <version>1.0</version>
<!-- 项目的打包方式 --> <packaging>jar</packaging> <name>MavenDemon1</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>
<!-- 修改version到4.11,从而可以使用Junit4 --> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
到这里,我们就能将我们创建的Maven项目导入到Eclipse中了,但是我们也不能这么麻烦,每次都需要用命令来创建,最终我们还是需要回到IDE Eclipse的怀抱中。接下来简单的说说Eclipse的配置。
————————————————————————————————
WHOOOOSHHHHHHHHHHHH…………
Blimey what was that?
That was your life mate
Oh, I was not quite ready. Can I have another go?
Sorry mate, only one per person.