Maven 学习笔记——Maven环境配置(1)

时间:2022-11-25 01:05:02

在学习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

Maven 学习笔记——Maven环境配置(1)

3. 在环境变量中添加Java_Home

Maven 学习笔记——Maven环境配置(1)

4. 编辑Path,添加Maven的Bin文件夹路径

Maven 学习笔记——Maven环境配置(1)

5. 验证Maven成功配置, “mvn –version”(查看Maven的版本信息)

Maven 学习笔记——Maven环境配置(1)

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分钟,依赖于每个人的网速了)。

Maven 学习笔记——Maven环境配置(1)

有点需要注意的: 在这个过程中可能由于网络问题出现停止运行(下载包的过程中)或者出现Error(由于某些问题没有权限访问某个包的文件):

  • 如果出现的是停止运行,一直卡在下载包的过程中,这个时候我们可以终止运行,然后重新运行命令 ”mvn help: system“,可以解决卡住的问题。
  • 如果出现的是Error信息:可以通过Error信息的提示,到镜像源的地址(http://mirrors.ibiblio.org/pub/mirrors/maven2 )下找到相关的包手动下载如果镜像源地址下找不到相应的jar包,可以到中心仓库下手动下载(http://search.maven.org/),然后将下载的包拷贝到本地源仓库的对应路径下。

举个例子,我们可以看到下面的这个错误,而且这个包在镜像源下找不到,我们就到中心仓库下手动下载这个包,然后拷贝到对应目录下面:

Maven 学习笔记——Maven环境配置(1)

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环境配置(1)

创建完一个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.