如果JAR在类路径中包含相同的类但不同的JRE版本,Java如何知道在运行时使用哪个类?
我的项目在类路径中包含两个jar(xyz-jre7.jar和xyz-jre8.jar),它们包含具有相同名称的类。在运行时,我的程序似乎同时使用JRE 7和8选择了正确的jar和类。在内部,Java如何知道使用哪个类?这些检查是在哪些文件中进行的
你可以在下面搜索框中键入要查询的问题!
我的项目在类路径中包含两个jar(xyz-jre7.jar和xyz-jre8.jar),它们包含具有相同名称的类。在运行时,我的程序似乎同时使用JRE 7和8选择了正确的jar和类。在内部,Java如何知道使用哪个类?这些检查是在哪些文件中进行的
# 1 楼答案
默认的ClassLoader以不确定的顺序从jar文件加载类。如果有两个或多个类具有相同的完全限定名,则加载的第一个类将获胜
应用服务器通常有定制的类加载器