java的classpath中如果出现了同名类,同名的类的代码不同,那只用的到底是哪一个类呢?
java -cp ./;./classes;./xptest.jar com.ssc.xp.ws.TestClassLoaderA
同一个类,改两次,分别生成V0,V1的class和V2的jar。进行测试。
classpath中顺序放在前面的类会比放在后面的类优先级高,也就是说,./加载的class,比xptest。jar中的class优先级要高。运行时跑的就是前者的类。
java -cp ./;./classes;./xptest.jar com.ssc.xp.ws.TestClassLoaderA
package com.ssc.xp.ws;
public class TestClassLoaderA {
public static void main(String[] args) {
String a = "Hi! Man, This is ClassA, V0";
System.out.println(a);
}
}
同一个类,改两次,分别生成V0,V1的class和V2的jar。进行测试。
classpath中顺序放在前面的类会比放在后面的类优先级高,也就是说,./加载的class,比xptest。jar中的class优先级要高。运行时跑的就是前者的类。