相关概念
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/