由于Maven的缺省构建规则有较高的可重用性,以是常常用两三行Maven构建脚本就可以构建大略的项目
由于Maven的面向项目的方法,许多Apache Jakarta项目发文时利用Maven,而且公司项目采取Maven的比例在持续增长。

Maven的功能

Maven能够帮助开拓者完成以下事情:

构建文档天生报告依赖SCMs发布分发邮件列表约定配置

Maven提倡利用一个共同的标准目录构造,Maven利用约定优于配置的原则,大家尽可能的遵守这样的目录构造。
如下所示:

动力节点jsp讲义动力节点Maven进阶篇教程带你深刻控制Maven多模块治理 CSS

目录

目的

${basedir}

存放pom.xml和所有的子目录

${basedir}/src/main/java

项目的java源代码

${basedir}/src/main/resources

项目的资源,比如说property文件,springmvc.xml

${basedir}/src/test/java

项目的测试类,比如说Junit代码

${basedir}/src/test/resources

测试用的资源

${basedir}/src/main/webapp/WEB-INF

WEB-INF web运用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面

${basedir}/target

打包输出目录

${basedir}/target/classes

编译输出目录

${basedir}/target/test-classes

测试编译输出目录

Test.java Maven

只会自动运行符合该命名规则的测试类

~/.m2/repository

Maven默认确当地仓库目录位置

Maven的特点项目设置遵照统一的规则。
任意工程中共享。
依赖管理包括自动更新。
一个弘大且不断增长的库。
可扩展,能够轻松编写Java或脚本措辞的插件。
只需很少或不须要额外配置即可即时访问新功能。
基于模型的构建−Maven能够将任意数量的项目构建到预定义的输出类型中,如JAR,WAR或基于项目元数据的分发,而不须要在大多数情形下实行任何脚本。
项目信息的同等性站点−利用与构建过程相同的元数据,Maven能够天生一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开拓状态的标准报告中。
发布管理和发布单独的输出−Maven将不须要额外的配置,就可以与源代码管理系统(如Subversion或Git)集成,并可以基于某个标签管理项目的发布。
它也可以将其发布到分发位置供其他项目利用。
Maven能够发布单独的输出,如JAR,包含其他依赖和文档的归档,或者作为源代码发布。
向后兼容性−您可以很轻松的从旧版本Maven的多个模块移植到Maven 3中。
子项目利用父项目依赖时,正常情形子项目该当继续父项目依赖,无需利用版本号,并行构建−编译的速率能普遍提高20-50%。
更好的缺点报告−Maven改进了缺点报告,它为您供应了Maven wiki页面的链接,您可以点击链接查看缺点的完全描述。

深入学习Maven多模块管理,可不雅观看动力节点Maven视频教程推,讲解非常详细,适宜Maven项目零根本的小伙伴学习。

Maven进阶篇视频教程

https://www.bilibili.com/video/BV1kg4y187td

Maven进阶资料下载

http://www.bjpowernode.com/?toutiao