首页 > 代码库 > Maven系列学习(一)Maven基本知识

Maven系列学习(一)Maven基本知识

Maven 简介

1.Maven主要是基于Java平台的项目构建,依赖管理和项目信息

2.Maven是优秀的构建工具,跨平台,消除构建的重复,抽象了一个完整的构建生命周期模型,标准化构建过程

3.管理分布的项目信息,版本控制系统,轻松获取项目文档,测试报告,静态分析报告,版本日志报告等

4.极限编程(XP)的搭配是非常不错的,比如持续集成(CI)

5.在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件,构件存储在仓库,(仓库就是存放依赖和插件的地方),任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径,

 

Maven 安装和配置(我使用的是Ubuntu)

1.去Maven的下载网页:http://maven.apache.org/download.cgi,我下载的是apache-maven-3.5.0-bin.tar.gz

2.检查Java的环境变量和版本:

zyd@kirohuji-X550MJ:~$ sudo echo $JAVA_HOME
[sudo] password for zyd: 
/etc/jvm/jdk1.8.0_111
zyd@kirohuji-X550MJ:~$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

3.然后解压:

zyd@kirohuji-X550MJ:~/Downloads$ sudo tar -xvzf apache-maven-3.5.0-bin.tar.gz /demo

4.配置环境

zyd@kirohuji-X550MJ:~$ sudo gedit /etc/profile

在最下面添加代码

#maven
export MAVEN_HOME=/opt/apache-maven-3.5.0
export PATH=${PATH}:${MAVEN_HOME}/bin

 完成!

重启生效或使用source /etc/profile代码

 参看版本

mvn -version

 

Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: /opt/apache-maven-3.5.0
Java version: 1.8.0_111, vendor: Oracle Corporation
Java home: /etc/jvm/jdk1.8.0_111/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.10.0-21-generic", arch: "amd64", family: "unix"

 Maven目录的分析

   技术分享

   bin:该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,还包含了m2.conf文件,这是classworlds的配置文件

   boot:就包含了一个文件,以这次的下载的版本,该文件是plexus-classworlds-2.5.2.jar,是一个类加载器框架

   conf:这个目录用到的非常重要的文件setting.xml,直接修改该文件,就能在机器上全局地制定了Maven的行为

   lib:该目录包含了所有Maven运行时需要的Java类库,Maven是分模块开发的,可以说lib目录就是真正的目录

最后一条简单的命令:

mvn help:system

该命令会打印出所有的java系统配置和环境变量,这些信息对我们日常的编程很有帮助,即会执行一条命令,会下载maven-help-plugin,包括pom文件和jar文件,然后放入本地仓库

,默认的本地仓库是在/home/{your name}/.m2文件,所有的Maven构件都被存储到仓库中,该文件夹里包含一个仓库:repository

Maven 插件

对于Maven,可以结合IDE使用,比如eclipse,Netbeans,IDEA,在此不做详解

Maven配置用户范围setings.xml

Maven用户可以选择配置M2_HOME/conf/settings.xml或者~/.m2/settings.xml,前者是全局范围,对整台电脑有效,而后者是用户范围的,推荐使用用户范围的,

Maven目录结构

http://www.cnblogs.com/kirohuji/p/6953536.html

Maven系列学习(一)Maven基本知识