如何通过类的全限定类名查找它的jar文件的位置?方法很简单,如下:
全限定类名.class.getProtectionDomain().getCodeSource().getLocation();
示例
package com.example;
public class Test{
public static void main(String[] args){
System.out.println(org.apache.commons.logging.Log.class.getProtectionDomain().getCodeSource().getLocation());
}
}
运行结果
file:/D:/Projects/NetBeansProjects8/yj/MyYJLibraries/commons-logging-1.0.2.jar
附录
全限定类名:就是类名全称,带包路径的用点隔开,例如: java.lang.String。即全限定名 = 包名+类型。非限定类名也叫短名,就是平时所说的类名,不带包的,例如:String。非限定类名是相对于限定类名来说的,在Java中有很多类,不同的类之间会存在相同的函数或者方法,所以有时候就需要限定类名来调包。而如果不存在相同的函数或者方法 ,就可以使用非限定类名。