由于本人是从c++转入从事JAVA工作的 所以很多东西要从头学起,相信有很多跟我一样的人吧,那么我们一起来学习。

今天我们一起来认识下Maven这个工具,很多人可能会问题了,为什么说是工具呢?不是写代码用的嘛?其实它是项目管理工具,可以对 Java 项目进行构建、依赖管理,当然也可以对其他语言的项目进行管理,比如: C#,Ruby,Scala 和其他语言编写的项目。

Maven其实是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,它利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

我们知道了Maven的用途,我们再来看下它有哪些特点呢?

(1)项目设置遵循统一的规则,并且可以在任意工程共享

(2)依赖管理包括自动更新,Maven仓库是一个庞大且不断增长的库,同时子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号

(3)扩展性较强,能够轻松编写 Java 或脚本语言的插件

(4)增加新功能时,只需很少或不需要额外配置即可

(5)同时Maven是基于模型的构建

Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本

(6)并行构建

多项目并行编译的速度能使整个项目的编译速度普遍提高20 - 50 %。

(7)向后兼容性

最新的Maven版本兼容之前的旧版本,可以进行轻松移植,并且不影响使用

(8)项目信息的一致性站点

使用与构建过程相同的源数据,Maven 能够生成一个网站或PDF,包括想要添加的任何文档,并添加到关于项目开发状态的标准报告中

(9)发布管理和发布单独的输出

Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。

同时Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布

(10)更好的错误报告

Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述

Maven的这十个特点使得Maven能够更好的为开发者提供服务,同时能够满足用户的各种定制化需求,那么它能帮助开发者做哪些事情呢?我们再来了解下。

Maven可以帮助开发者完成项目构建、项目相关文档生成、数据报告和错误报告、项目依赖、SCMs、 项目发布、 分发、 邮件列表等任务,为开发者高效工作提供了很大帮助。

另外其实Maven的配置在一定程度是存在约定的,也就是默认的配置数据,那么默认配置数据有哪些呢?我们一起来看:

我们在进行开发的时候要遵守这些约定配置,才能更加高效的完成我们的开发工作。

今天的分享就到这儿,后续会根据我的学习情况进行持续更新,欢迎大家关注,我们一起学习共同进步,谢谢

最新文章

  1. expect用法
  2. JBoss QuickStart之深入
  3. HTML5新增标签及具体用法
  4. C++产生随机数四则运算
  5. REPL LOG
  6. Qt的学习资料比起其它C/C++的GUI组件来说已经算很全的了
  7. struts2配置通用action一个顶N个,你还在写一大堆action吗?
  8. DeleteDC() 与 ReleaseDC() 的区别 [转]
  9. MySQLdb callproc 方法
  10. ui-router ^1.x在ng1中使用state events
  11. npm安装删除模块以及cnpm淘宝镜像
  12. markdown流程图画法小结
  13. Redux应用单一的store原则案例详解
  14. jmeter分布式测试远程连接失败
  15. python 题库1
  16. 生信基础知识【04】GO和pathway分析
  17. ARM指令集详解
  18. python练习三—解析xml
  19. WCF简介-01
  20. jenkins中Email Extersion Plugin插件使用说明点

热门文章

  1. 服务消费者(Feign-上)
  2. tomcat结合shiro无文件webshell的技术研究以及检测方法
  3. Uni-app页面路由区分注意事项
  4. .net Framework4 类库调用Jwt
  5. for of
  6. 论TEMP临时变量与VAR静态变量
  7. shell专题(一):Shell概述
  8. 前端03 /css简绍/css选择器
  9. 用Canvas定时显示摄像头捕获的画像(HTML5)
  10. Java常用API(Math类)