网络转载
在编程的时候如果在工程中无意中导入多个同样的jar文件,只是版本不同,
这样就会因为版本问题造成一些错误,那么在使用的过程中系统到底是引用哪一个jar文件呢?可以通过如下方法获得:
Java代码
System.out.println(org.apache.xpath.compiler.FunctionTable.class.getProtectionDomain().getCodeSource());
System.out.println(com.gargoylesoftware.htmlunit.util.StringUtils.class.getProtectionDomain().getCodeSource());
System.out.println(org.apache.xpath.compiler.FunctionTable.class.getProtectionDomain().getCodeSource());
System.out.println(com.gargoylesoftware.htmlunit.util.StringUtils.class.getProtectionDomain().getCodeSource());
输出结果为:
Java代码
(file:/home/ubuntu/workspace/jwebunit-2.3/lib/xalan-2.7.1.jar <no signer certificates>)
(file:/home/ubuntu/workspace/jwebunit-2.3/lib/htmlunit-2.7.jar <no signer certificates>)
在编程过程中,若无意导入多个版本不同的jar文件,系统会引用最先加载的jar文件。通过代码查看ProtectionDomain和CodeSource可以确认加载的jar文件路径及证书情况。
342

被折叠的 条评论
为什么被折叠?



