两个jar里面都有 tools.ResourceTools的类,但实现的功能各不相同,如何分别调用?

解决方案 »

  1.   

    两个jar文件都需要引入吗?
    如果同时引入应该要冲突的
      

  2.   

    是啊,现在就是两个jar都想一起用!
      

  3.   

    包名类名都相同,那jvm没法区分了,一般ide是会提示发生冲突而报错的,如果不报错的,那就只有第一个包被引入(在classpath路径下排在前面的包),第二个包会在classloader加载类时判断重复而忽略。
      

  4.   

    如果按照规则命名package, 应该不会有相同的路径。
    现在出现这种问题了,你可以试试找源代码修改一下路径,
    如果找不到源代码,还可以试试反编译软件将它反编译出来修改一下路径。
      

  5.   

    按照JVM的规定会丢类,就是丢掉搜索路径中第二tools包中的ResourceTools类(但不会丢包,搜索路径中第二tools包中的其他类还是会被搜索的)。即使放在不同包中也不行,JVM会提示让你删掉一个。所以你是没法同时引用的。
      

  6.   

    “按照JVM的规定会丢类,就是丢掉搜索路径中第二tools包中的ResourceTools类(但不会丢包,搜索路径中第二tools包中的其他类还是会被搜索的)。即使放在不同包中也不行,JVM会提示让你删掉一个。所以你是没法同时引用的。”不完全正确,放在不同包中若使用按需导入是不行的(即import 包名.*;)JVM会提示让你删掉一个。唯一的方法是把这个类放在不同包中直接导入,即使用(import 包名.类名;)。