由于Maven的缺省构建规则有较高的可重用性,以是常常用两三行Maven构建脚本就可以构建大略的项目。由于Maven的面向项目的方法,许多Apache Jakarta项目发文时利用Maven,而且公司项目采取Maven的比例在持续增长。
Maven的功能
Maven能够帮助开拓者完成以下事情:
构建文档天生报告依赖SCMs发布分发邮件列表约定配置Maven提倡利用一个共同的标准目录构造,Maven利用约定优于配置的原则,大家尽可能的遵守这样的目录构造。如下所示:
目录
目的
${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