Maven 入门教程

      maven是一个项目管理工具,不仅可以把源代码构建为可以发布的项目(包括 编译、打包、测试、分发),还可以生成报告、生成web站点。本文介绍maven的主要使用过程,作为入门

1、maven的安装

     windows 下载 地址http://maven.apache.org/download.cgi  zip解压缩包,无需安装直接解压即可。

     配置环境变量:MAVEM_HOME  和 M2_HOME

     Maven 入门教程

     Maven 入门教程

     变量值修改为自己的解压路径,注意路径内部包含 bin boot conf 等。

      PATH环境变量增加  %M2_HOME%/bin

      Maven 入门教程

      另外:maven安装之前应该完成JDK的安装。

      最后通过 win+r   调出cmd  通过命令 mvn -version 检测是否安装成功

      Maven 入门教程

      到此maven安装成功。

      安装成功后执行  mvn help:system  会下载各类文件。 最终输出成功则,maven安装全部完成。

2、Maven各个目录介绍

      bin -- 保存maven可以执行的命令,其中mvn 和 mvn.bat 就是执行mavne工具的命令。

      boot -- 里面的plexus-classworlds-2.5.2.jar是一个类加载器。无须理会

      config -- maven配置文件,其中settings.xml用于配置maven的全局行为。

       lib -- 包含maven的运行时类库,maven为分模块开发,所有从jar的名字也能略知一二,比如maven-core-3.5.4.jar 。此目录也包含了很多地方类库。

       LICENSE、NOTICE、README.txt 说明性文档,打开看看即可。

 

3、   maven的设置

        简单一点设置做全局设置,即直接设置conf目录的settings.xml。追求一点的话,将settings.xml复制到用户m2下(win7的用户目录一般为C:\Users\Administrator\.m2)仅仅为当前用户设置,一般做全局设置即可。如上两种方式只是作用用户范围不同,其他均一致,settings.xml支持元素和元素的意义也一致。下面介绍主要的配置项目

       3.1  localRepository 【本地仓库 [rɪˈpɒzətri] 】-- 包含一个地址路径,存储maven本地资源库路径,默认是用户目录下(C:\Users\Administrator\.m2),考虑重装系统,建议设置其他盘,比如maven的解压路径内部。注意取消注释,设置后生效。重新执行 mvn help:system 。

         3.2   interactiveMode 设置maven的交互模式,true处于交互模式用户输入时会进行提示。false不会提示用户输入,而是使用默认值。

         3.3 offline 是否为离线状态,当为否时,否否为正表示联网状态,找不到依赖库时会从网络自动下载。

         3.4 proxies设置代理。

        ===》作为入门,只要本机可以直接上网,只需要设置一下 localRepository 即可(甚至也可以不设置),其他查询其他教程深入研究。

补充一句:maven本身是一个空壳,这个壳子只能进行xml解析、管理生命周期、和管理插件。它强大的功能(打包、编译、发布站点等等)都依赖插件来完成,无招胜有招。插件管理,对于maven主要命令 mvn 命令基本格式:

               mvn  [插件前缀]:[指定目标]  -D <属性名>=<属性值>   

              刚刚使用的 mvn help:system 就符合这个格式, help就是插件(用前缀来表示),system表示指定目标(goal)。此处硬记即可。插件对于maven很重要.

 

3、maven创建、构建一个简单的项目

     插件archetype

 命令:mvn archetype:generate -DinteractiveMode=false -DgroupId=org.fkjava -DartifactId=mavenQs -Dpackage=org.fkjava.mavenqs

    查看各个插件的意义:http://maven.apache.org/plugins/index.html

    报错就多支执行几次。最终会生成了maven的单独的java项目。一般没人这么使用。简单教程知道插件意义即可,再记住archetype用于创建工程即可。

     个人理解:往大了说maven是一个项目全项目周期的管理工具,很少有人这个用。往小了说maven就利用其pom.xml进行插件管理,就是维护一个本地jar包仓库(LocalRepository)。

 

     下一篇介绍maven 结合 Eclipse创建工程,并进行插件管理。