Maven学习总结
来源:互联网 发布:头影测量软件 编辑:程序博客网 时间:2024/04/27 08:37
Maven的两大特点:
依赖管理:对Jar包的管理过程,即对Jar包的统一管理
项目构建:项目进行编码完毕后,对项目进行编译、测试、打包、部署等操作都可以通过命令来实现
Maven的依赖管理
说明:Maven项目可以通过pom文件中的配置坐标,来找到项目需要的jar包,无需再将Jar包拷贝到lib文件中
坐标的规范:公司名+项目名+版本号
例如:Struts2+core+2.3.24.jar
Apache(公司名称)+struts2(项目名)+2.3.24(版本号)
传递依赖冲突
传递依赖:A依赖B,B依赖C(1.1版本),即B是A的直接依赖,C是A的传递依赖
传递依赖冲突:此时再导入D,D依赖C(1.2版本),则此时C版本存在1.1和1.2两个版本,A,D到底要依赖哪个版本,此时存在冲突
传递依赖冲突的解决
Maven自己调节的原则
同一级别的依赖,满足第一声明者优先的原则
即:在POM文件中谁先定义的,就用谁
不同级别的,符合最短路径原则
即:直接依赖的级别高于传递依赖的级别
手动调节方法----排除依赖与版本锁定
排除依赖Exclude排除依赖
版本锁定DependencyManagement
注:dependencyManagement主要对依赖的管理,并不实际加载依赖,实际加载依赖,是下边的dependencies
即:使用了dependencyManagement来管理的版本,是哪个版本,下边就实际依赖哪个版本
Maven仓库类型
注意:中央仓库中没有Oracle数据库驱动的包
配置本地仓库
2.解压到一个文件中
Maven项目标准目录结构
注意:target目录不是标准目录文件,存放的为src源文件编译后的文件
Maven常用命令
Clean:清理
将项目根目录下的target目录清理掉
Compile:编译
将项目中的.java文件编译成.class文件
Test:单元测试
单元测试类名要求:XxxxTest.java
项目根目录下,src/test/java目录下的单元测试类都会执行
Package:打包
Web project-----war包
Java project------jar包
Install:安装
解决本地多个项目用一个jar包的问题,将jar包放到本地仓库
项目的拆分
主要思路:将dao、service层的代码以及配置文件全体提取出来到一个表现上独立的工程中,然后将独立的工程install到本地仓库,供其他项目使用,拆分后将项目进行聚合,至此提出父工程的概念
创建父工程
创建好的父工程目录结构:
创建好的父工程只有pom文件,所以不需要编码,主要作用:
1.项目需要的依赖信息,在父工程中定义,子模块继承过程
2.将各模块聚合到一起
将父工程发布到本地仓库
如果在以后发布service、dao时项目报错,可检查是否将父工程发布到了本地仓库。
创建子工程
创建Maven项目
创建web项目产生的问题及解决方式(注意使用update project)
查找依赖
依赖范围(注意:provided)
打包出现servlet-api冲突问题的解决
改善方法
传递依赖的范围
运行调试Maven项目
直接运行:
调试运行(注意要resource关联源码,不然不能运行):
右键---》Debug As---》Maven build…()
概念模型
- Maven学习总结----Maven入门
- Maven学习总结
- maven学习总结
- maven学习总结
- Maven 学习总结一
- maven学习总结初步
- Maven学习总结
- Maven学习总结
- Maven学习阶段性总结
- Maven学习总结(三)
- Maven学习总结
- Maven学习总结
- maven学习总结
- Maven学习总结:基本概念
- Maven学习总结
- Maven 学习总结
- maven 学习总结
- Maven学习总结
- 欢迎参加2017中国卫星应用大会!
- webview设置paddingbottom无效,通过js给android控件WebView设padding
- Win10系统下深度学习框架Keras的安装与搭建
- [分治] 51Nod1472 Codeforces #549F. Yura and Developers
- springmvc
- Maven学习总结
- 操作系统学习_Linux0.12_as汇编
- CCF CSP认证考试历年真题 日期计算 C语言实现
- 喜大普奔!程序员已当选最佳国民女婿
- python unicode转str
- singleCall单来源调用解析及实现
- Manifest merger failed :
- html的localstorage的存储应用
- Access denied for user 'root'@'localhost' (using password:YES)解决方法