Java通过class文件得到所在jar包
时间: 2023-07-16 07:13:30 浏览: 116
快速定位class文件jar包
在Java程序中,可以通过以下代码获取当前类所在的jar包路径:
```
String jarPath = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
```
这段代码中,`this.getClass()`表示当前类的Class对象,`getProtectionDomain()`方法返回该类的保护域,`getCodeSource()`方法返回该保护域的代码源,`getLocation()`方法返回代码源的URL,最后通过`getPath()`方法获取URL的路径。
需要注意的是,如果当前类是在classpath下的,那么获取到的路径可能是一个文件夹路径,而不是jar包路径。因此,可以通过判断路径是否以“.jar”结尾来判断当前类是否在jar包中。如果是在jar包中,则需要去掉路径中“file:”前缀和“!/"后缀才是jar包的路径。
阅读全文