您的位置:首页 > 其它

Maven 的安装和配置,快速入门

2017-03-11 12:39 656 查看
etc/environment。#Maven 简述

Maven是apache 官方推出的一款项目自动构建工具。这款工具可以方便我们项目依赖的维护,构建,测试,发布。

不同构建工具的对比

Eclipse

使用eclipse进行项目构建,相对来说,步骤比较零散,不好操作

Ant

它是一个专门的项目构建工具,它可以通过一些配置来完成项目构建,这些配置要明确的告诉ant,源码包在哪?目标class文件应该存放在哪?资源文件应该在哪

Maven

它是一个项目管理工具,他也是一个项目构建工具,通过使用maven,可以对项目进行快速简单的构建,它不需要告诉maven很多信息,但是需要安装maven去的规范去进行代码的开发。也就是说maven是有约束的。

Gradle

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

可以这样说,Gradle是一款替代Maven的工具,但是Gradle 又有很多方面与Maven共用。说以学习Maven与学习Gradle不冲突,并且主流的很多企业依然在使用Maven。

Maven 的安装

官方下载的地址是下面

http://maven.apache.org/download.cgi



解压下载后的zip 包后,结构如下图所示



windows环境下的安装

配置环境变量

MAVEN_HOME,这个环境变量的变量值,是我们解压的后maven 所在的路径



配置Maven的环境变量Path路径

这个Path主要是用于指向maven.exe路径,由于我们之前配置了MAVEN_HOME环境变量,所以,在Path环境变量后面,只要追加

;%MAVEN_HOME%/bin

即可



测试maven是否安装成功



如果可以看见输出版本号,证明maven 已经安装成功了。

Linux ->Ubuntu环境下的安装方法

参考另外的一篇博客关于maven 的安装

Maven 是跨平台的,所以他在任何一个平台都是可以运行的。这里讲介绍如何在Ubuntu14上安装maven 客户端。其他linux发行版本请参照这个。大同小异。

安装Jdk1.7

与window一样,maven 以来jdk,所以必须先安装jdk之后,才可以安装maven

请参考百度经验

http://jingyan.baidu.com/article/647f0115bb26817f2048a871.html

http://www.cnblogs.com/fordreamxin/p/4287706.html(Linux下jdk版本的切换)



安装maven

安装maven 方法很简单,只需要将下载的文件解压,并设置环境变量即可

1.找到我们下载的maven



2.解压这里是使用命令行的方式解压,不懂也可以通过7zip





3.将解压后的文件夹移动到合适的位置

因为笔者习惯是将软件安装在$HOME/bin目录下,所以在

/home/blueboz/bin/目录下新建了一个Maven目录,用于存放我们的maven

blueboz@BLUEBOZ:~/下载$
mv apache-maven-3.3.9 /home/blueboz/bin/maven/


4.设置环境变量

blueboz@BLUEBOZ:~$
export M2_HOME=/home/blueboz/bin/maven/


5.在Path 环境变量中追加Mavan bin目录

blueboz@BLUEBOZ:~$
export PATH=$PATH:$M2_HOME/bin


6.检验maven是否安装成功

输入mvn -v 就可以看到Maven的版本了



注意

在如果是使用export 命令在终端进行环境变量的设置的话,会出现这样的问题,就是在系统重启之后或者新开的终端,所有的刚刚配置的环境变量都将会失效,如何解决这个问题,那么就是类似与windows,在专门配置文件中写入即可

点击参考百度经验的方法

修改系统环境变量

1.通過修改/etc/enviroment這個配置文件即可.

gedit /etc/enviroment


2.文件内容

只需要在后面添加所需要配置的环境变量信息即可

修改前

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"


修改后

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$MAVEN_HOME/bin:$JAVA_HOME/bin"

MAVEN_HOME="/user/home/blueboz/bin/maven"

JAVA_HOME="/usr/lib/jvm/jdk1.8.0_121/"


修改用户环境变量

1.通过修改用户目录下的 [b].bashrc[/b]

这个文件,如果没有就自己新建一个就可以了.注意前面的 点不能少!

blueboz@BLUEBOZ:/etc$ gedit ~/.bashrc


Maven的常用配置信息

关于maven的配置文件,可以指定两种级别如下

用户级别, 这个settings.xml 文件为只为一个用户提供配置信息,(所谓一个用户,通常是我们正在登陆的用户。例如Administrator)并且经常放在~/.m2/settings.xml

全局级别 ,全局的settings.xml配置文件在 mavenHome目录下的/config/setting.xml 文件,也就是现在的这个我们安装maven 解压包的conf目录下。

通过在命令行模式下,输入下面指令,我已获得用户目录

echo %USERPROFILE%


配置信息详解

由于全局配置信息与单用户配置文件内容是一模一样的,所以,这里只将一种的配置方法.

全局配置信息在maven 解压目录下的conf目录下的setting.xml文件



在ubuntu下那么这个文件在$MAVEN_HOME/conf目录下的setting



打开这个配置文件,我们可以就可以进行配置了

配置文件结构

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!--本地仓库-->
<localRepository>~/.m2/repository</localRepository>
<!--Maven是否与用户交互,默认值为true-->
<interactiveMode>true</interactiveMode>
<!--离线模式,默认值为false-->
<offline>false</offline>
<!--插件组-->
<pluginGroups></pluginGroups>
<!--代理-->
<proxies></proxies>
<!--下载与部署仓库的认证信息-->
<servers></servers>
<!--仓库镜像-->
<mirrors>
<mirror>
<id>bluebozRepo</id>
<mirrorOf>central</mirrorOf>
<name>Blueboz</name>
<url>http://bluebozpc:8081/repository/maven-public/</url>
</mirror>
</mirrors>
<!--Settings Profile-->s
<profiles></profiles>
<!--激活Profile-->
<activeProfiles></activeProfile>
</settings>


mirrors的配置

由于maven库是在国外的,在下载构建的时候速度往往比较慢.因此可以配置国内的Nexus服或者直接使用自己的私服.

下面示例alibabaNexus服

<mirrors>
<mirror>
<id>Alibaba</id>
<mirrorOf>*</mirrorOf>
<name>AliyunMaven</name>
<url> http://maven.aliyun.com/nexus/content/groups/public/ </url>

</mirror>
</mirrors>


在示例中,mirrorOf的值为central,表示该配置为中央仓库的镜像,任何对于中央仓库的请求都会转至该镜像.另外三个元素id,name,url 与一般的仓库的配置无异,表示该镜像仓库的唯一标识.

如果mirrorOf 的值为星号.表示该配置是所有maven仓库的镜像,任何对于远程仓库的请求都会转到对应镜像.如果该仓库需要认证.那么配置一个id 为internal-repository的<server>即可.

1.<mirrorOf>*</mirrorOf>匹配所有远程仓库

2.<mirrorOf>external:*</mirrorOf>匹配所有不在本机上的的远程仓库

3.<mirrorOf>repo1,repo2</mirrorOf>匹配仓库repo1和repo2使用逗号分割多个远程仓库

4.<mirrorOf>*,!repo1</mirrorOf>匹配所有仓库,repo1除外.

Maven 命令的基本使用

使用mvn 指令创建java 项目

mvn archetype:generate -DgroupId=cn.blueboz -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false




使用该指令之后生成的项目结构是

使用mvn 指令创建web项目

mvn archetype:generate -DgroupId=cn.blueboz -DartifactId=my-webapp -Darche
typeArtifactId=maven-archetype-webapp -DinteractiveMode=false




Maven中的坐标和依赖

持续更新中,暂时更新至20170318
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: