Maven
-
maven的做用
- 管理jar包
- 添加第三方jar包
- 自动下载相关依赖包:导入的jar包依赖的其它包maven自动下载
- 将项目拆分成多个模块:每个模块相当于一个独立的项目,多个模块组成一个模块
- 管理jar包
-
maven的概念
-
是一个基于java平台的自动化构建工具
-
自动化构建:将原材料(java,js,css,html,图片)->可发布的项目;
maven可以将 编译-打包-部署-测试 一键执行->自动化构建
-
-
功能
- 清理:删除编译的文件,为了重新编译做准备
- 编译:java->class
- 测试
- 报告:将测试的结果 进行显示
- 打包
- 安装:将打成的包放到本地仓库,以供其它项目使用
- 部署:将打成的包放到服务器准备运行。将java,js,jsp等各个文件进行筛选,组装,编程一个可直接运行的文件。
-
-
安装配置maven
- settings.xml文件
-
使用maven
- 约定优于配置
- maven默认(约定)main目录下未java源代码,test目录下未测试代码;如果不安装约定的目录放置,需要去配置或指定源代码或测试代码的位置。
- 约定优于配置
-
maven常用命令
- mvn compile:编译
- mvn test: 测试
- mvn package
- mvn install :将开发的模块放到本地仓库,以供其它项目使用
-
依赖
-
依赖的范围(scope):compile,test,provider
-
依赖的传递性
-
A.jar->B.jar->C.jar
要使A.jar->C.jar:当且仅当B.jar依赖于C.jar的范围是compile
-
-
依赖原则(为了防止冲突)
- 首先遵循最短路径原则
- 路径相同,依赖于声明的
-
依赖的排除:如果A.jar依赖B.jar,但是B.jar以及存在,则在倒数B.jar的时候可以排除B.jar–配置
-
新建的A项目依赖自建的B项目(A项目使用了B项目的类);先把B项目打包安装到本地仓库,然后A项目在pom.xml中导入B项目即可。
-
-
maven继承
- 子pom.xml继承父pom.xml
- 继承的步骤:
- 在子类中需要声明需要父类的哪些依赖(因为不能把父类依赖的包全部导入到子类)
-
聚合
-
做用:A项目依赖于B项目,则需要把B项目打包到本地仓库,A导入B的包,才能使用B的类;
使用聚合后,可以直接使用,不必打包放到本地仓库
-
配置
- 在pom.xml的中配置
- 只能配置在打包方式为pom的工程中
-