首页 > 代码库 > 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基本知识