Java获取class/jar包路径的方法

在eclipse或者其它.class文件没有被打包的情况下,使用如下语句可以获得.class文件的绝对路径:

String classFilePath = clazz.class.getResource("").getPath();

当.class文件被打进jar包之后,上面这条语句就要报错了。这时你能做的就是去获取.class文件所在的jar的绝对路径:

String jarFilePath = clazz.class.getProtectionDomain().getCodeSource().getLocation().getFile();
// URL Decoding
jarFilePath = java.net.URLDecoder.decode(jarFilePath, "UTF-8");



你可能感兴趣的:(JAVA学习)