1、maven的用途
maven是一个项目构建和管理的工具,提供了帮助管理构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。
maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性
利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。
2、项目中的主要应用
打包部署
强制性精确的jar包管理及自动下载
源码及文档自动下载自动关联
辅助测试
3、POM
pom是指project object Model。pom是一个xml,在maven里为pom.xml。是maven工作的基础,在执行task或者goal时,maven会去项目根目录下读取pom.xml获得需要的配置信息
pom文件中包含了项目的信息和maven build项目所需的配置信息,通常有项目信息(如版本、成员)、项目的依赖、插件和goal、build选项等等
pom是可以继承的,通常对于一个大型的项目或是多个module的情况,子模块的pom需要指定父模块的pom
4、POM文件中节点含义如下
project pom文件的顶级元素
modelVersion 所使用的object model版本,为了确保稳定的使用,这个元素是强制性的。除非maven开发者升级模板,否则不需要修改
groupId是项目创建团体或组织的唯一标志符,通常是域名倒写
如:groupId org.apache.maven.plugins
artifactId是项目artifact唯一的基地址名
packaging artifact打包的方式,如jar、war、ear等等。默认为jar。这个不仅表示项目最终产生何种后缀的文件,也表示build过程使用什么样的lifecycle。
version artifact的版本,通常能看见为类似0.0.1-SNAPSHOT,其中SNAPSHOT表示项目开发中,为开发版本
name表示项目的展现名,在maven生成的文档中使用
url表示项目的地址,在maven生成的文档中使用
description表示项目的描述,在maven生成的文档中使用
dependencies表示依赖,在子节点dependencies中添加具体依赖的groupId artifactId和version
build 表示build配置
parent 表示父pom
5、artifact
这个有点不好解释,大致说就是一个项目将要产生的文件,可以是jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId:artifactId:version组成的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(见Repository)中
6.Repositories
Repositories是用来存储Artifact的。如果说我们的项目产生的Artifact是一个个小工具,那么Repositories就是一个仓库,里面有我们自己创建的工具,也可以储存别人造的工具,我们在项目中需要使用某种工具时,在pom中声明dependency,编译代码时就会根据dependency去下载工具(Artifact),供自己使用。
对于自己的项目完成后可以通过mvn install命令将项目放到仓库(Repositories)中
仓库分为本地仓库和远程仓库,远程仓库是指远程服务器上用于存储Artifact的仓库,本地仓库是指本机存储Artifact的仓库,对于windows机器本地仓库地址为系统用户的.m2/repository下面。
对于需要的依赖,在pom中添加dependency即可,可以在
maven的仓库中搜索:http://mvnrepository.com/
7、maven搭建
7.1准备工具
apache-maven-3.0.4-bin.gz
Eclipse IDE for Java EE Developers Mars 最新的
7.2、解压包到D盘
7.3、然后把库解压到apche-maven-3.0.4包下
7.4 eclipse中设置maven的settings
点击Browse 选择maven包中 conf 文件夹下的setting.xml。
7.4、然后点击open file
7.5 出现以下内容,左下角选择 source , 找到红框的内容,复制下 改成maven库的位置
<localRepository>D:/apache-maven-3.0.4/Repository</localRepository> 注意是/, 保存即可。
7.6、maven工程的结构以及编译后的结构
其中src是必有的文件夹,pom.xml是必有的配置文件
Main是必有的文件夹里面存放所有的源文件
Java里存放java文件
Resources放配置文件
Test存在测试代码.
7.7常用命令
mvn test 运行程序中的单元测试
mvn compile 编译项目
mvn install 打包并安装到本地仓库,此时本机仓库会新增
mvn eclipse:clean 清除eclipse项目文件
7.8、创建maven项目