1.java的包管理
1.1在类路径(classpath)找(引用到的)类
当多个同名的类出现在classpath中时,会引用先出现的那个类,但有可能那个类正好有2个版本,而有问题的版本在前面,这样就正好引用了有问题的版本
2.maven的包管理
2.1maven出现前的包管理
2.2maven包管理
2.3语意化版本
3.包冲突和解决
3.1冲突解决原则
在下面这个例子中:项目依赖了A-B-C1,D-C2,由于C1和C2不能同时出现,而C2距离项目更近,所以maven会使用C2,淘汰C1
3.2查看maven依赖树
3.3解决包冲突
直接依赖需要的包
如果是这种情况,本来是要依赖C0.2版本的,但是maven错误的依赖了C0.1版本,一种解决方法是直接从项目中依赖C0.2版本
解决方法