相关概念

maven 中央仓库  网站  https://mvnrepository.com/  打造JAVA生态
maven 官方网站  http://maven.apache.org/
      下载地址  http://maven.apache.org/download.cgi
      本质上下载工具和构建工具
      下载工具  只能下载JAR包  只能在中央仓库或者私服中下载JAR包
      构建工具  本身没有构建的功能 依赖他的插件来实现构建

为什么会有Maven?

在开发中经常需要依赖第三方的包,包与包之间存在依赖关系,版本间还有兼容性问题,有时还里要将旧的包升级或降级,当项目复杂到一定程度时包管理变得非常重要。
Maven是当前最受欢迎的Java项目管理构建自动化综合工具。
相同的工具有:
Node.js---------npm
DotNet----------nuget
PHP-------------composer
Python----------pip
Linux-----------yum
Maven这个单词来自于意第绪语(犹太语),意为知识的积累。

 Maven是什么?

Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。

Maven让开发人员的工作更轻松,同时清理,检查,构建和测试自动化设置。Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立
相关的任务。 每个Java项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在那里也没有一个权威的规范。 因此,我们就要用到Maven
--一个项目管理工具

没有Maven时?

1 如果使用了spring,去spring的官网下载jar包;如果使用hibernate,去hibernate的官网下载Jar包;如果使用Log4j,去log4j的官网下载jar包.....
2 当某些jar包有依赖的时候,还要去下载对应的依赖jar包
3 当jar包依赖有冲突时,不得不一个一个的排查
4 执行构建时,需要使用ant写出很多重复的任务代码
5 当新人加入开发时,需要拷贝大量的jar包,然后重复进行构建
6 当进行测试时,需要一个一个的运行....检查

有了Maven后

1 依赖的管理:仅仅通过jar包的几个属性,就能确定唯一的jar包,在指定的文件pom.xml中,只要写入这些依赖属性,就会自动下载并管理jar包。
2 项目的构建:内置很多的插件与生命周期,支持多种任务,比如校验、编译、测试、打包、部署、发布...
  A.发布  打成jar包 或者是war包
  B.编译  测试  打包   部署   发布
  C.Maven提供一些骨架 帮助我们构建项目  maven项目
    javaFx  java Project   maven-archetype-quickstart
    Web     动态的项目  maven-archetype-webapp
3 项目的知识管理:管理项目相关的其他内容,比如开发者信息,版本等等 

 Maven相关网站

官网:http://maven.apache.org/
教程:https://www.yiibai.com/maven/
Maven库:http://repo2.maven.org/maven2/
中央仓库资源:
http://mvnrepository.com/
https://search.maven.org/
12-22 19:12