我现在有二个jar包 举例叫A和B,jar包里面是二个项目模块。
我在一个项目里面加入了这二个jar包(A.jar和B.jar),但2个jar包的结构差不多。
A和B里面都有一个XML文件,我现在如何得到A里面的XML文件和B里面的XML文件?
我的思路是获取到JVM里面的所有的classloader,在根据这个classloader来找A或者B的XML文件

解决方案 »

  1.   

    不需要这么麻烦的, 如果你仅仅是想要获得文件的话, 很简单的, 你2个jar包不可能包名和类名都一样吧,TestClassLoaderA a = new TestClassLoaderA();
    InputStream is = a.getClass().getClassLoader().getResourceAsStream("com/company/fileA/Test.xml");TestClassLoaderA b = new TestClassLoaderA();
    InputStream is = b.getClass().getClassLoader().getResourceAsStream("com/company/fileB/Test.xml");
      

  2.   

    写错了, 第二个应该是:
    TestClassLoaderB 
    TestClassLoaderB b = new TestClassLoaderB();
    InputStream is = b.getClass().getClassLoader().getResourceAsStream("com/company/fileB/Test.xml");不过应该也一样。