Maven
目录:
1. 什么是Maven?
Maven是Apache公司开源的一个项目,Maven是一个项目管理工具,可以方便的管理jar,不需要在导入各种各样的jar包方便管理,统一集中使用一个pom文件管理所有的依赖包,可以轻松管理版本等信息,解决jar包冲突。
Maven是Java平台下的一款项目构建和依赖管理的自动化管理工具。
2. 什么是依赖管理
一个java项目需要外部的第三方jar包来进行支持,对于这些第三方的jar包的管理。依赖管理就是将项目所依赖的jar包按照一定规则进行规范化管理。
3. Maven的依赖管理
maven项目有一个文件叫pom.xml。将Jar包的坐标依赖到Maven中,坐标可以从Maven仓库中获取。
例:
mysql mysql-connector-java 5.1.38
4. Maven的好处
-
依赖管理:对jar包统一管理,避免冲突等问题
-
跨平台:可在windows及linux下运行
-
有利于提高大型项目的团队开发效率
-
越来越多的公司使用maven
-
原来的项目一个项目就是一个工程,而借助Maven可以将一个项目拆分成多个工程。
5.Maven的基本命令
mvn -v // 查看maven版本
mvn validate // 验证工程是否正确,所有需要的资源是否可用
mvn compile // 编译源代码
mvn test-compile // 编译测试代码
mvn test // 运行测试
mvn package // 打包,如果是java项目打包为jar包,web项目打包为war包。
mvn clean // 删除编译生成的target
mvn install // 安装jar包到本地仓库中
mvn site // 产生site
mvn install // 在本地Repository中安装jar 例:installing D:\xxx\xx.jar to D:\xx\xxxx
mvn eclipse:eclipse //生成eclipse项目
mvn idea:idea //生成idea项目
6. Maven和Gradle的区别
-
Gradle和Maven都是项目自动构建工具
-
Maven是相对稳定的,Gradle是进年新兴起的一个工具
-
Gradle是比Maven更加优秀的项目管理工具,他避开了Maven繁琐的pom文件,使用更加简约。
-
Maven是一款基于Java语言的构建工具,Gradle是一款基于Groovy语言的构建工具。
-
对于大多数公司还是使用的Maven,因为Maven相对稳定,更加成熟一些
7. Maven仓库
- 中央仓库(远程仓库)
- 本地仓库
- 私服
- 先去本地仓库没有则去中央仓库进行下载,会下载到本地仓库中
8. Maven依赖冲突
-
相同的jar包不能同时出现在一个项目中
-
如果存在谁在上面谁优先
-
其次路径优先 路径最短原则
9. 配置Maven阿里云中央仓库
由于Maven仓库默认在国外,使用难免很慢,尤其是下载依赖的时候,这里我们将它换为国内镜像
// 配置Maven 阿里云镜像仓库
aliyunmaven * 阿里云公共仓库 https://maven.aliyun.com/repository/public
-
打开maven下的conf文件夹
-
然后打开settings.xml文件
-
然后找到在里面添加阿里云镜像
-
进入idea创建Maven项目就可以看到正常下载了