Java中相同类在加载时的选择方式

问题描述

在一个项目遇到来自不同Jar包中的相同类(包名&类名均相同)在使用时的选择问题

项目案例

ref: Java项目中依赖的jar包中含有相同类时的加载顺序

原理分析

Java中来自不同Jar包中的相同的类名(包名,类名)在加载时类加载器将按照Class Path中的顺序加载,相同的类名仅仅会加载一次。因此,最终所使用的类取决于ClassLoader对类的的选择,即Maven往Class Path打包的顺序。

注意:Maven会自动判断,依赖的层次结构,同一层次的jar引入的是先写到pom文件的,不同层次的jar引入的高层次的jar

你可能感兴趣的:(Java中相同类在加载时的选择方式)