Maven 学习笔记——Maven环境配置(1)
在学习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.
Maven 学习笔记——Maven环境配置(1)的更多相关文章
- Qt5学习笔记(1)-环境配置(win+64bit+VS2013)
Qt5学习笔记(1)-环境配置 工欲善其事必先-不装-所以装软件 久不露面,赶紧打下酱油. 下载 地址:http://download.qt.io/ 这个小网页就可以下载到跟Qt有关的几乎所有大部分东 ...
- Maven 学习笔记——Maven和Eclipse(2)
前面已经配置好Maven的环境和本地仓库已经准备好了,下面我们通过Eclipse创建Maven项目. 1.安装Maven集成于Eclipse IDE (Eclipse的版本中如果已经集成了Maven插 ...
- 【lua学习笔记】——环境配置
1 开发平台 windows7 64位 2 下载链接 http://www.lua.org/download.html 3 安装完成-环境配置 4 运行 WIN+R 运行 cmd 运行lua,显示配 ...
- 学习笔记-ionic3 环境配置搭建到打包
折腾了两周总算理清楚了,参考的链接如下: https://blog.csdn.net/zeternityyt/article/details/79655150 环境配置 https://segmen ...
- Maven学习笔记—安装和配置
Maven的安装和配置 1 在windows上安装maven 1.1 下载maven 访问maven的下载页面:http://maven.apache.org/download.cgi,选择版本下载即 ...
- MAVEN学习笔记-maven的获取和安装
windows下maven的安装步骤: 1.下载压缩包http://maven.apache.org/download.cgi选择apache-maven-3.3.9-bin.zip下载 ...
- OpenGL 学习笔记 01 环境配置
以下教程仅适用于Mac下的Xcode编程环境!其他的我也不会搞. 推荐教程:opengl-tutorial 本项目Github网址 OpenGL太可怕了...必需得把学的记下来,不然绝壁 ...
- Maven 学习笔记-maven属性
Maven有六类属性: 1)内置属性 主要有两个常用内置属性 ${basedir}:表示项目根目录,即包含pom.xml文件的目录: ${version}:表示项目版本: 2)POM属性 ${M2_H ...
- WP8 学习笔记(001_环境配置)
Step 1 WP8 的开发要求64位操作系统,Windows 8及以上版本,需要激活版,建议网上买一个注册码.详见安装双系统. Step 2 安装好系统并已经激活之后,需要安装Windows Ph ...
随机推荐
- collate字段详细讲解
collate可以在库级别上,表级别上,列级别上设计:意思就是“排列规则”;通常和charset结合使用: 例如: 建议使用utf8mb4而不是utf8,因为utf8最多支持3字节得长度,但是有些字符 ...
- lambda函数详解
lambda函数的作用就是可以编写内嵌的无名函数,而不必写成独立的函数: 结构:[]为开始,(参数){函数体} 例如: 1. auto lambdaFun1 = [](int a) {std::cou ...
- Maven搭建私服
为什么要搭建私服?搭建私服有什么好处? 以我最近技术调研和相关的使用为起点概述: 首先说明,为什么要搭建私服? 搭建私服的目的是,通常企业项目开发,特别是使用maven作为项目管理,现在非常流行使用m ...
- android 自定义listview无法响应点击事件OnItemClickListener
如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就是说我 ...
- ICSharpCode.SharpZipLib 开源压缩库使用示例
官方网站:http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 插件描述: ICSharpCode.SharpZipLib.dl ...
- JavaScript模块化思想之入门篇
在写正文之前先写一点废话,从我大三下学期正式接触前端到现在,已经六个月了.自己从HTML,CSS,简单的JS验证开始,一点点开始走入前端的世界.越发的感觉前端这一领域散发着无穷的魅力,也许这和我真心喜 ...
- java List集合中contains方法总是返回false
ArrayList的contains方法 java 今天在用ArrayList类的caontains方法是遇到了问题,我写了一个存放User类的ArrayList 但在调用list.contains( ...
- handsontable合并项mergeCells应用及扩展
由于我这个项目主要是配置多表头信息,主要使用了handsontabel合并项功能. 但是,在该功能使用过程中发现了一些问题和一些自己根据需要做的一些扩展 $("#topFieldDiv&qu ...
- vue中的img src 动态加载本地json的图片路径写法。
目录: 注意:本地json文件和json文件里的图片地址都必须写在static 静态文件夹里:否则json文件里的url地址找不到. major_info.json文件里的图片路径写法 页面通过v-b ...
- AT24C02跨页写数据
AT24C02 EEPROM的写数据分为:字节写数据模式和页写数据模式:字节写就是一个地址一个数据的写,页写是连续写数据,一个地址多个数据的写,但是页写不能自动跨页,如果超出一页长度,超出的数据会覆盖 ...