maven基础
1.两大核心功能:
- 依赖管理
- 一键构建:
maven自身集成了Tomcat插件,可以对编译,测试,打包,安装,发布等操作。
2.本地仓库: 里面的jar包只能安装,自己粘贴进去,不好使。本次仓库没有,可以去私服找,或中央仓库找。联网的情况下,如果没有会自己去中央仓库下。
3.maven常用命令:
clean,compile,test,package,install,deploy
4.maven三大生命周期:
清理生命周期;
默认生命周期;
站点生命周期。
jar包冲突
现象:maven使用pom导入坐标时,虽然只导入了一个坐标,但是maven会自动将其所依赖的jar包们也自动导入进来。但是如果此时,导入不同版本的另外一个坐标,此时,他们有可能出现都依赖于同一个jar,所以此时,这个被同时依赖的jar包,到底是哪个版本的被导入了?????
分析发现:这里maven是优先原则,先进来的别导入了。(交换下顺序即可自己验证)
所以解决jar包冲突的方法:
1.第一声明优先
2.直接排除法: 如果不想换顺序,可使用exclusion标签,排除即可。
3.直接依赖:优先于传递依赖
- 直接依赖:自己手动导入进来的坐标
- 传递依赖:根据依赖关系,maven自动导入
ssm所需的全部jar包
里面的冲突,即依赖已经解决
(rose的备份文件。如果你对rose文件修改了。就会生成他。当你要用到以前的文件时。把它改成.mdl就行了。就是以前的版本)
这里将pom文件改为.md之后,显示不可读????导入文件也能碰到bug,果然亲切啊
【注意】:
dependencyManganent:版本锁定,即将主要的jar包锁住,即使出现直接依赖,它也不会被改变。
<!-- 统一管理jar包版本 -->
<properties>
<spring.version>5.0.2.RELEASE</spring.version>
<slf4j.version>1.6.6</slf4j.version>
<log4j.version>1.2.12</log4j.version>
<shiro.version>1.2.3</shiro.version>
<mysql.version>5