gpt4 book ai didi

java - 获取 JAR 编译时间

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:10 29 4
gpt4 key购买 nike

我正在尝试获取从 Eclipse 导出的可运行 JAR 文件的编译时间。一种方法可能是获取 META-INF/MANIFEST.MF 文件的修改时间。不幸的是,我似乎无法找到获取此信息的方法(我知道如何使用 getResourceAsStream("/META-INF/MANIFEST.MF") 读取 list 本身,但我不能似乎能够读取它的修改时间)。

有人知道怎么做吗?

最佳答案

如果您有权访问 jar 文件本身,您应该能够使用 java.util.jar 包读取 jar 文件,然后获取 list 的 ZipEntry文件并对其使用 getTime() 以获取其最后更新时间。

JarFile jf = new JarFile("myfile.jar");
ZipEntry manifest = jf.getEntry("META-INF/MANIFEST.MF");
long manifestTime = manifest.getTime(); //in standard millis

如果你需要处理特定的类,那么你可能会发现这段代码也很有用;

String rn = this.getClass().getName().replace('.', '/') + ".class";
String path = getClass().getClassLoader().getResource(rn).getPath();
String jarFile = path.substring(0, path.indexOf("!"));

然后 jarFile 将包含您的 jar 的路径名。请注意,如果类不是从 jar 文件加载的,那么第三行将失败,因为 path.indexOf 将返回 -1。

关于java - 获取 JAR 编译时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9927653/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com