maven
项目集成管理工具
1.主要动作
- clean 清理:删除编译的内容,做好重新编译的准备
- complie 编译:也就是将代码编译为class文件
- test 测试:对项目中的某个模块业务进行测试,以确保的结果的准确性
- report 报告:有测试完毕的情况下,有对应的报告生成
- package 打包:将一个文件或者多个进行jar或者war包打包
- install 安装:将jar包或者war包安装到本地仓库中
- deploy 部署:将war包部署到服务器容器中
2.目录结构
/src/main/java : java源文件
/src/main/resources : 项目资源文件 config,xml等
/src/test/java : 测试java源文件
/src/test/resources :测试资源文件,可有独立的资源文件,
maven dependencies :maven update 更新得到的 pom 里的jar包,可以查看jar包,版本信息 ,class 文件
target: 工程编译构建的输出目录,如打成的war包,jar包等
src/main/webapps: web应用目录,WEB-INF, css,js,jsp等
pom.xml对整体项目进行管理,可以在maven仓库中搜索想配置的jar包配置到pom.xml
3.maven仓库
- 本地仓库 (本地maven存放的文件)
- 远程仓库 (来自五湖四海汇集到一起)
- 私服 (开发中,都有自己搭建的私服,其实就是私有仓库)
- 中央仓库和镜像 中央仓库只有一个,镜像是中央仓库的克隆,用于分担中央仓库的压力
4.maven操作命令
mvn compile 编译
mvn clean 清除target
mvn test 测试
mvn package 打包
5.三种管理
1.继承
多个子项目都需要某些依赖, 就可以把子项目共同的依赖抽取到父项目中,子项目通过继承得到这些依赖
true表示子项目不继承父项目中的jar包
2.依赖
-
依赖具有传递性,
-
依赖移除使用:
<exclusions> <exclusion> <!--被排除的依赖包坐标--> <groupId>A</groupId> <artifactId>A</artifactId> <version>0.0.1</version> </exclusion> </exclusions>
-
依赖冲突(会jar包重复
- 短路优先:有多个依赖路径时,路径短的优先
- 声明优先:根据在.xml文件中的位置,先声明的优先
3.聚合
将功能模块拆分,最常见的我们整合ssm的时候会将service和dao进行拆分,当然也可以以项目的方式
4.版本统一管理:使用标签