Maven能够帮助用户建立一套有效的自动化构建体系。Maven提供的POM配置、相关的Maven插件以及简单的maven命令(如mvn clean install),可以帮助用户轻松地完成构建任务。用户使用maven之后,无须再通过重复输入命令和点击鼠标这些繁琐的工作去完成项目从清理、编译、测试到生成报告,再到打包和部署的过程。
Maven基础概念
- Progect:工程是你用maven构建的事务,它被定义为工程对象模型(POM).。一个工程可以依赖其他的工程,一个工程也可以由多个子工程构成。
- POM:POM(pom.xml)是maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。
- GroupId:一个工程中的全局唯一标识符。
- Artifact:构件,主要由工程产生和使用。它可以是jar文件、源文件、二进制文件、war文件,甚至是war文件。Artifact由GroupId和ArtifactId标识。被使用的Artifact要放在仓库中。
- Dependency:Java工程中所依赖的包。Dependency一般是其他工程的Artifact。
- Plug-in:Maven的每一个功能都是由插件完成的。插件提供goal,并根据在POM中找到的元数据去完成工作。插件一般由Java、Beanshell或Ant脚本编写。
- Repository:仓库,即放置Artifact的地方,分为中央仓库、公共仓库、私有仓库及本地仓库。
Maven的目录结构
- bin:Maven的运行脚本
- boot:Maven自己的类装载器
- conf:该目录下包含了全局行为定制文件setting.xml
- lib:Maven运行时所需要的类库
Tips:设置MAVEN_OPTS=-Xms 512m -Xmx1024m(非必要项,但可以防止内存溢出)