问题描述
在一个项目遇到来自不同Jar包中的相同类(包名&类名均相同)在使用时的选择问题
项目案例
ref: Java项目中依赖的jar包中含有相同类时的加载顺序
原理分析
Java中来自不同Jar包中的相同的类名(包名,类名)在加载时类加载器将按照Class Path中的顺序加载,相同的类名仅仅会加载一次。因此,最终所使用的类取决于ClassLoader对类的的选择,即Maven往Class Path打包的顺序。
注意:Maven会自动判断,依赖的层次结构,同一层次的jar引入的是先写到pom文件的,不同层次的jar引入的高层次的jar