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

摘要:
在学习Selenium的过程中,我接触了Maven,所以我一路都没有忘记。我的左耳进出右耳,所以我决定一边录音一边学习。毕竟,我听到的不如我读的好,我读的不如我写的好。Maven是一个基于项目对象模型的项目管理工具。它可以通过描述来管理项目的建设。Maven主要由一个项目对象模型、一组标准集合、Maven的项目生命周期、依赖关系管理系统以及用于运行生命周期阶段定义的插件目标的逻辑组成。同时,它还可以帮助您管理项目报告、生成站点和管理Jar包。

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

15

3. 在环境变量中添加Java_Home

11

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

13

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

14

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

Verify1

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

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

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

Verify2

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

Verify4

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

免责声明:文章转载自《Maven 学习笔记——Maven环境配置(1)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux 搭建 JenkinsAS将一个项目导入到另一个项目中下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android内核开发:理解和掌握repo工具【转】

本文转载自:http://ticktick.blog.51cto.com/823160/1653304 由于Android源码是用repo工具来管理的,因此,搞Android内核开发,首先要搞清楚repo是什么东西,它该怎么使用?作为《Android内核开发》系列文章的第二篇,我们首先谈谈对repo工具的理解和使用。 1. repo是什么? repo是一种...

maven配置详解

settings.xml 本篇文章主要对maven中setting.xml配置文件进行解释 1.声明规范 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...

Git连接GitHub仓库详解

创建SSH Key 1.注册GitHub账号。 2.创建SSH Key。windows + R键同时按,打开运行命令窗口,输入.进入家目录。 看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有(那就奇了怪了!),一般第一次使用是没有的,真有的话可以直接跳过下面的命令。 打开命令行,执行命令:ssh-keygen -t rsa -C...

使用Nexus创建私服

原文链接:http://www.cnblogs.com/helong/articles/2254446.html 注意:nexus2.6.0版本以后不支持jdk6了,必须jdk1.7或以上。 参考:http://blog.csdn.net/shandian534/article/details/8987349 -----------------------...

使用Docker 容器配置nexus3.29 私有仓库

在创建 repository之前,还是需要先设定一个指定的文件存储目录,便于统一管理。 默认创建在nexus安装目录下数据目录 选择仓库类型 这里选择proxy类型如图 配置仓库该仓库指定一个唯一的名称、HTTP的端口、允许交互的API等由于访问中央仓库有时候会比较慢,这里我添加一个阿里云的代理仓库,然后优先级放到默认中央库之前, 阿里云的mave...

使用GitHub Desktop 上传本地项目到远程仓库

  1.创建GitHub 用户,登陆GitHub官网,如图所示。       2.点击加号创建新的仓库存储      3.选择仓库的名称(必填),描述(可选等)     4.创建完成之后打开本地的Github Desktop,如图:     5.找到 clone repository 选项      6.选择刚才创建的数据仓库进行Clone(前提是...