Maven学习使用一
项目中一直都在用maven,自己虽然会用,但是有些地方还是有些模糊,故抽出时间来重新学习一下maven。
一、Maven是什么?
Maven是一个跨平台的项目管理工具,apache下的开源项目,主要服务于基于java平台的项目构建、依赖管理和项目信息管理。
二、为什么使用Maven?
1、首先maven是跨平台的,无论你是在windows,linux,mac上,都是可以使用相同的命令。
2、如果没有maven,传统方式使用jar包,要去官网把自己需要的jar包下载下来放到项目的WEB-INF下的lib文件夹,非常繁琐。而使用maven后,maven为我们提供了中央仓库(远程仓库),本地仓库,在公司内部还可以搭建私服,方便我们使用。
3、构建方便,下图为项目构建过程,如果没有maven,每一步都需要我们自己来做,使用maven后,都由maven来做。
三、安装Maven
1、 安装maven之前,需要先安装jdk,并且maven-3.3.1之后需要java7以上,我们使用最新版maven-3.6.0,所以请保证java版本在7及以上,可以在cmd窗口使用以下命令检查java版本
echo %JAVA_HOME% //jdk安装路径
java -version //jdk版本
我使用的是jdk1.8
2、去官网下载maven,http://maven.apache.org/download.cgi ,使用最新版apache-maven-3.6.0-bin.zip,linux使用tar.gz后缀的。
3、解压、重命名、配置环境变量
放到哪里,是否重命名可根据个人习惯,或公司规定去做,我的配置如下:
解压位置,重命名:
环境变量:
path环境变量:
一切都完成后,打开cmd窗口执行命令 mvn -v ,出现正确的版本号,maven安装成功了。
4、升级maven,我们只需要去官网下载最新版的maven,解压,重命名后放到D:\develop下就可以了,但是要注意apache-maven\conf下的配置。
四、安装目录分析
bin:可执行的二进制文件
boot:该目录只包含一个文件plexus-classworlds-2.5.2.jar,plexus-classworlds是一个类加载器框架,相对于默认的 java 类加载器,它提供了更丰富的语法以方便配置,Maven 使用该框架加载自己的类库。
conf:该目录包含了一个非常重要的文件 settings.xml。直接修改该文件,就能在机器上全局地定制 Maven的行为。也可以,复制该文件至~/.m2/目录下(这里~表示用户目录),然后修改该文件,在用户范围定制 Maven 的行为。
lib:该目录包含了所有 Maven 运行时需要的 Java 类库,
LICENSE:记录了 Maven 使用的软件许可证 Apache License Version 2.0;
NOTICE:记录了 Maven 包含的第三方软件;
README.txt :包含了 Maven 的简要介绍,包括安装需求及如何安装的简要指令等等。
五、配置本地仓库位置
本地仓库默认的位置是${user.home}/.m2/repository,我们可以修改setting.xml文件中的localRepository指定本地仓库位置
然后进入cmd使用命令 mvn help:system 该命令会打印出所有的 Java 系统属性和环境变量,这些信息对我们日常的编程工作很有帮助,运行这条命令的目的是为了让maven执行一个真正的任务,我们会看到maven下载一些如 maven-help-plugin 的插件,包括jar包和pom文件,他们都会下载到本地的仓库中去。
如果下载速度过慢,那是因为中央仓库在国外。我们可以配置国内的镜像,如阿里云镜像。(在公司里,一般都是配置公司的私服)
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
六、maven在eclipse中的配置
虽然说eclipse给我们提供了maven,但是为了版本的一致性,我们要配置自己的maven
1、点击window->preference->maven->installations,添加我们自己安装的maven
2、点击window->preference->maven->User Settings,设置User Settings的settings.xml文件路径,设置为D:\develop\apache-maven\conf\settings.xml目录下的settings.xml文件
这是最基本的环境的配置,OK,我们现在可以用eclipse创建maven项目了。
七、mavne的约定结构
我们通过eclipse创建一个简单的maven项目结构如下:
src/main/java 存放项目的java文件
src/main/resources 存放项目的资源文件,如spring,hibernate的配置文件
src/test/java 存放所有的测试的java文件
src/test/resources 存放测试用的资源文件
target 项目输出位置
pom.xml 文件