教你代码中获取当前 JAR 包的存放位置
作者:AnAnCode
这篇文章主要介绍了如何获取当前JAR包的存放位置,要获取当前运行的 JAR 包所存放的位置,可以使用 ProtectionDomain 和 CodeSource 类,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
如何获取当前 JAR 包的存放位置
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
代码中如何获取打包后的jar包存放的位置?
要获取当前运行的 JAR 包所存放的位置,可以使用 ProtectionDomain 和 CodeSource 类。
代码:
import java.net.URL; import java.security.CodeSource; import java.security.ProtectionDomain; public class Main { public static void main(String[] args) { // 获取当前类的保护域 ProtectionDomain protectionDomain = Main.class.getProtectionDomain(); // 获取代码源 CodeSource codeSource = protectionDomain.getCodeSource(); // 获取代码源的位置 URL location = codeSource.getLocation(); // 获取 JAR 包的路径 String jarPath = location.getPath(); System.out.println("JAR Path: " + jarPath); } }
注意:这种方法适用于独立的可执行 JAR 包。如果你的代码是作为依赖项运行在其他项目或容器中,可能会得到不同的结果。在这种情况下,获取 JAR 包位置的方法可能会有所不同。
如何找到jar包在本地仓库的位置
第一种:怎么定位pom文件的某个依赖在本地仓库的位置
鼠标选中此依赖,就会弹出一个弹框,弹框里的路径就是此依赖在本地仓库的位置.
即使不选中依赖弹出弹框,此依赖的groupid + artifactid+version 所对应的内容加起来就是此依赖所指向的本地仓库的jar包的位置.
第二种:怎么定位右侧maven窗口的某个依赖在本地仓库的位置
可以看到,下面划线的名称就是在本地仓库的路径位置.
第三种:报错org.apache.xmlgraphics.fonts.Glyphs这个路径下的Glyphs类找不到
上面报错的路径并不是在本地maven仓库的绝对路径.而是此Glyphs类在自己的jar包中的类路径,
怎么找呢,就是随便找一个项目中的存在的类,然后 import org.apache.xmlgraphics.fonts.Glyphs;
导入这个类
然后ctrl + 左键, 找到这个类,然后点击定位按钮,就能看到这个类的所属的jar包在本地仓库的绝对路径了.
其他的后面再补充.
到此这篇关于如何获取当前 JAR 包的存放位置的文章就介绍到这了,更多相关JAR 包的存放位置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!