gpt4 book ai didi

java - 从另一个 jar 读取变量值

转载 作者:太空宇宙 更新时间:2023-11-04 10:37:12 25 4
gpt4 key购买 nike

我想从另一个 jar 读取变量值

Main.jar

public static int version = 2;

我已经添加了导航到 Main.jar (lib/Main.jar) 的库

然后我从 Loader.jar 执行此操作

int version = dummy.Main.version;

如有更新请更换新的

Loader.jar

URL url = new URL("http://127.0.0.1/cn/Main.jar");
try (InputStream in = url.openStream()) {
Files.copy(in, Paths.get("lib/Main.jar"), StandardCopyOption.REPLACE_EXISTING);
}
catch (HeadlessException | IOException | NumberFormatException e) {
//do exception
}
}

但问题是我无法替换文件,因为该文件正在被使用,因为 Main.jar 被 Loader.jar 使用

如何解决替换正在使用的文件?

最佳答案

不要替换 JAR 文件,因为您无法安全地强制其他进程不使用它。

而是安装旁边较新的 JAR 文件,并将版本号嵌入到 JAR 文件名中,并重写该 JAR 文件的其他用户以定期扫描较新的 JAR 文件。当找到一个时,他们应该扔掉加载旧 JAR 文件的类加载器,并重新加载新的集合。

或者,决定根本不将此信息嵌入到 JAR 文件中。资源文件比 JAR 文件更容易读取和处理,而且它们是纯文本文件。

关于java - 从另一个 jar 读取变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49335873/

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