gpt4 book ai didi

java - 自执行 jar 和外部属性文件

转载 作者:行者123 更新时间:2023-12-02 07:37:31 25 4
gpt4 key购买 nike

假设我有以下可执行 jar 文件的 MANIFEST.MF 摘录:

Manifest-Version: 1.0
Main-Class: com.intersportleitner.skischule.gui.window.SkischulApplicationWindow
Class-Path: .
...

难道不能有这样的目录结构吗:

Appdir
|- bla.jar (self-executable)
|- x.properties
|- y.properties

因为如果我尝试使用以下代码片段加载属性,我会收到 IOException: Stream returned inproperties.load(stream):

Properties properties = new Properties();
InputStream istream=SkischulApplicationWindow.class.getClassLoader().getResourceAsStream("y.properties");
BufferedInputStream stream = new BufferedInputStream(istream);
properties.load(stream);
stream.close();

该异常有点误导,因为实际上 istream 为空(评论说,当我尝试调用 istream 的方法进行测试时...),因此找不到属性文件,我不知道为什么会这样失败是因为根据Executable jar won't find the properties files它应该这样工作...

最佳答案

getResourcegetResourceAsStream 依赖于类加载器实现和类路径。

我倾向于只在寻找嵌入式资源时使用这种方法,但这只是我

你“可以”尝试

InputStream istream=SkischulApplicationWindow.class.getClassLoader().getResourceAsStream("/y.properties");

相反

关于java - 自执行 jar 和外部属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11984167/

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