博客
关于我
项目管理Maven系列(一)- 简介、安装、配置
阅读量:630 次
发布时间:2019-03-14

本文共 4059 字,大约阅读时间需要 13 分钟。

项目管理Maven系列(一)

简介、安装、配置

目录

  • 1、简介

  • 2、安装部署

    • 2.1、Maven for Win

    • 2.2、Maven for Mac

  • 3、本地资源库

  • 4、中央存储库

  • 5、启动代理

  • 6、Eclipse上配置Maven

1、简介

Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

 

Maven有一个生命周期,当你运行mvn install的时候被调用。这条命令告诉Maven执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven运行了许多默认的插件目标,这些目标完成了像编译和创建一个JAR文件这样的工作。

此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。

 

官方网址:http://maven.apache.org/

2、安装部署

 

 

下载地址:http://maven.apache.org/download.cgi

如图所示:Maven下载完成。

图片

 

2.1、Maven for Win

1、在Windows环境下,将apache-maven-3.5.4-bin.tar.gz解压到任意目录(例如:D盘)即可。

图片

 

2、配置环境变量

鼠标选中我的电脑右键,点击属性--->高级系统配置--->高级--->环境变量。

图片

 

点击环境变量,系统变量里:

(1)点击新建

变量名填写 MAVEN_HOME变量值填写 D:\apache-maven-3.5.4

 

图片

 

(2)点击新建

变量名填写 MAVEN变量值填写 %MAVEN_HOME%\bin

 

图片

 

(3)修改Path,点击编辑

在变量值最后添加 ;%MAVEN%

 

图片

 

确定后,打开命令行,输入mvn -version,提示以下信息表示Maven环境变量配置成功。

图片

 

2.2、Maven for Mac

1、在Mac环境下,将apache-maven-3.5.4-bin.tar.gz解压到任意目录(例如:/Users/automation/apache-maven)即可。

图片

 

2、配置环境变量

(1)打开终端,进入用户的根目录。

图片

 

(2)在终端输入命令 ls -a ,查询 .bash_profile文件是否存在。如果不存在,创建文件:touch .bash_profile

图片

 

(3)编辑文件 vi ~/.bash_profile,输入内容如下:

export MAVEN_HOME=/Users/automation/apache-maven在PATH后面追加内容 :$MAVEN_HOME/bin

 

如图所示:

图片

 

(4)编辑后保存文件,之后输入source ~/.bash_profile,使环境变量生效。

图片

 

(5)在终端输入mvn -version,提示以下信息表示Maven环境变量配置成功。

图片

 

 

3、本地资源库

 

 

Maven本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件),这些文件被Maven下载到本地文件夹里。创建一个Maven项目,所有相关文件将被存储在你的Maven本地资源库里。

 

在默认情况下,Maven的本地资源库默认为.m2目录文件夹。

Widnows:C:\Users\{username}\.m2 (username为当前用户名)Linux/Mac:~/.m2 (~/为当前用户目录地址)

 

如果想更改本地资源库目录,则需要打开配置文件进行设置(Maven安装目录里的conf目录下的settings.xml文件)。

图片

 

settings.xml文件内容(找到本地资源库设置位置):

图片

 

取消注释本地资源库选项,填写你的本地资源库路径,之后保存即可。

如图所示:设置本地资源库地址在D:/MyMaven/m2目录下。

图片

 

 

4、中央存储库

 

 

当创建一个Maven的项目,Maven会检查你的pom.xml文件,以确定哪些依赖需要下载。首先,Maven将从本地资源库获取依赖资源,如果没有找到,就会从默认的Maven的中央存储库(https://repo.maven.apache.org/maven2/)进行查找下载。

 

如图所示:默认的Maven中央存储库资源。

图片

 

但是这些中央存储库往往需要连接互联网访问,由于访问互联网的限制或安全控制的需要,我们往往需要建立对中央存储库的镜像,需要修改Maven安装目录里的conf目录下的settings.xml文件(里添加镜像)。

 

如图所示:添加一个镜像。

id为镜像库的id,用以唯一标识该镜像库。mirrorOf为镜像的远程库,central为镜像Maven的central库。如果该镜像库的目标远程库不止一个,则可以使用*表示任意远程库;external:*表示任何不在localhost和文件系统中的远程库;r1,r2表示r1库或者r2库;*,!r1表示除了r1库之外的任何远程库。name为镜像库名。url为该镜像库访问地址。

 

图片

 

更多镜像:

         
repo2
         
central
         
Human Readable Name for this Mirror.
         
http://repo2.maven.org/maven2/
     
      
         
uk
         
central
         
Human Readable Name for this Mirror.
         
http://uk.maven.org/maven2/
     
      
         
ibiblio
         
central
         
Human Readable Name for this Mirror.
         
http://maven.ibiblio.org/maven2/
     
    
         
jboss
         
central
         
JBoss Public Repository Group
         
http://repository.jboss.org/nexus/content/groups/public/
     
       
         
jboss2
       
central
      
JBossJBPM Repository
        
https://repository.jboss.org/nexus/content/repositories/releases/
   

 

 

5、启动代理

 

 

如果你的环境需要代理才可以访问互联网,那么Maven也是需要设置代理才可以访问互联网下载相关依赖。

打开配置文件(安装目录里的conf目录下的settings.xml)。

图片

 

settings.xml文件内容(找到代理服务器设置位置):

图片

 

取消注释代理选项,填写你的代理服务器详细信息,之后保存即可。

proxies下可以有多个proxy元素,如果声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效;id为自定义代理名,active的值为true表示激活该代理,protocol表示使用的代理协议,这里是http;username为代理用户名,password为代理密码。如果没有代理用户名与密码则注释掉这两个字段;host指定主机名,port为端口;nonProxyHost指定哪些主机名不需要代理,可以使用|符号来分隔多个主机名。此外,该配置也支持通配符,如*.google.com表示所有以google.com结尾的域名访问都不要通过代理。

 

如图所示:设置完成后的代理服务器信息。

图片

 

 

6、Eclipse上配置Maven

 

 

以Widnows为例:

1、打开Eclipse,依次点击Window--->Preferences--->Maven--->Installations。

图片

 

2、点击Add,在弹出的设置窗口里填写Maven的安装目录与名称即可,点击Finish。

图片

 

3、选中新增的Maven设置,点击Apply。

图片

 

4、点击User Settings。

图片

 

5、全局设置与个人设置引入Maven的配置文件(settings.xml),点击Apply,最后点击OK即可。

图片

 

如果您觉得文章还不错,请 点赞、分享、在看、收藏 一下,因为这将是我持续输出更多优质文章的最强动力!

在这里推荐一个我自己创建的软件测试交流群,QQ:642830685,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术,还有大佬为你答疑解惑。

 

转载地址:http://vgsoz.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>
Mysql学习总结(71)——MySQL 重复记录查询与删除总结
查看>>
Mysql学习总结(71)——数据库介绍(MySQL安装 体系结构、基本管理)再回顾
查看>>
Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
查看>>
Mysql学习总结(76)——MySQL执行计划(explain)结果含义总结
查看>>
Mysql学习总结(77)——温故Mysql数据库开发核心原则与规范
查看>>
Mysql学习总结(78)——MySQL各版本差异整理
查看>>
Mysql学习总结(79)——MySQL常用函数总结
查看>>
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>
Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?
查看>>
Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
查看>>
Mysql学习总结(83)——常用的几种分布式锁:ZK分布式锁、Redis分布式锁、数据库分布式锁、基于JDK的分布式锁方案对比总结
查看>>
Mysql学习总结(84)—— Mysql的主从复制延迟问题总结
查看>>
Mysql学习总结(85)——开发人员最应该明白的数据库设计原则
查看>>
Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
查看>>
Mysql学习总结(9)——MySql视图原理讲解与使用大全
查看>>
MySQL学习笔记十七:复制特性
查看>>