Tomcat 加载jar包的顺序

实验目的

  • 2个jar包中,各有一个类名完全相同的类Test,此时,如果一个工程中同时引入这2个jar包,那么此时工程中调用此Test时,它到底调用哪个jar包的Test类。

新建一个工程,里面有一个类Jar1

public class Jar1 {
	public void print(){
		System.out.println("Test_1");
	}
}

   用此类生成2个不同名称的jar包,一个打印 Test_1,一个打印Test_2,jar包的名称分别对应Test_1.jar,Test_2.jar.

  新建一个工程

  建立类Testjar.java,将上面建立的2个jar都引入

  public class TestJar {
	public static void main(String[] args){
		new Jar1().print();
	}
  }

  jar的顺序是testjar_1,testjar_2

 

  执行程序

  此时打印J信息为 “Test _ 1”,即引用了testjar_1包中的类

  实验二

  将jar名字互换:testjar_1 -> testjar_2 , testjar_2 -> testjar_1

  执行man

  此时打印信息为 “Test_2”

  结论:在同一个文件夹下,jar包是按顺序从上到下依次加载(即在Referenced Libraries顺序加载),如果已经找到,则不会再后续jar包中进行查找。


参考文献:

猜你喜欢

转载自huangrongyou.iteye.com/blog/1562019