Maven入门
1.1.1概念
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。
1.2.1Maven概念模型
1.2.2项目对象模型
POM对象模型,每个maven工程中只一个pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。
1.2.3依赖管理模型
maven通过坐标对项目工程所依赖的jar包统一规范管理。
比如:项目依赖springmvc4.3.,通过在pom.xml中定义依赖即可将springmvc的jar包自动加入工程:
pom.xml中定义依赖如下:
<dependency>
<groupId>org.apache.spring</groupId>
<artifactId>springmvc</artifactId>
<version>4.3.24</version>
</dependency>
1.2.4Maven生命周期
maven是一个项目管理工具,可以对项目的整个生命周期进行管理,并且可以对项目的依赖jar包进行管理。
Maven的生命周期包括:清理、编译、测试、打包、安装、部署,对应命令如下:
清理 mvn clean 将会删除 target 目录及内容
编译 mvn compile 将java文件编译为 class 文件输出到 target 目录下
测试 mvn test 执行单元测试类
打包 mvn package 把项目打包到项目的target目录
安装 mvn install 包含package,且将项目打包安装到本地仓库
部署 mvn deploy 包含install,且将项目上传到远程仓库
1.2.5其他概念
一组标准集合
maven工程有自己标准的工程目录结构、定义坐标有标准。多个dependency
maven 管理项目生命周期过程都是基于插件完成的
开发中使用tomcat的插件
1.3.1仓库介绍
1.3.2仓库分类
本地仓库
相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。
中央仓库
就是远程仓库,仓库中jar由专业团队(maven团队)统一维护。
中央仓库的地址:http://repo1.maven.org/maven2/
远程仓库
http://maven.aliyun.com/mvn/view 阿里的远程仓库地址
在公司内部架设一台私服(服务器),其它公司架设一台仓库,对外公开。
公司搭建分为:
外网 (前提知道网址:任何程序员都可以使用)
内网(仅供公司内部程序员使用)