同一个项目中存在完全相同的包名和类名如何,解决调用问题

项目中遇到有一个类,在两个jar包中都存在,而且类所在的包名和类名完全一致,解决办法有两种:

1.常用办法

  清除项目中过时的那个jar包,推荐方式。

2.如果两个都不能清除,则在使用过程中动态指定加载的jar包即可。以rt.jar中javax.xml.ws.Service为例,代码如下

 

File file = new File("f:\\rt.jar");
       URL url = file.toURI().toURL();
       ClassLoader classLoader = new URLClassLoader(new URL[]{url});
       Class<?> clazz = classLoader.loadClass("javax.xml.ws.Service");
       Service service = (Service)clazz.newInstance();
       service.getPorts(); //Service类的一个方法