gpt4 book ai didi

java - ClassLoader 加载错误的文件实例

转载 作者:行者123 更新时间:2023-11-29 09:15:29 24 4
gpt4 key购买 nike

所以我看到已经有一篇与这个问题非常相似的帖子,但是我无法在我的 jar 中指定这个文件的位置,所以我希望有人知道解决方案解决这个问题。

所以我目前使用以下代码片段获取一个文件作为输入流,文件“plugin.xml”位于 jar 的根目录,我无法更改此位置,因为另一个软件 (dynatrace) 创建了它文件并确定其位置。

标准片段:

InputStream = JmxPlugin.class.getResourceAsStream("/plugin.xml");

现在我知道问题是 ClassLoader 正在拾取类路径中与名称“Plugin.xml”匹配的第一个文件(一个不在我的 jar 中的文件,是的)。

谁能想出一种方法来确保我在不移动文件的情况下选择正确的文件?我的类在jar中的相对路径是com/something/jmx/JmxPlugin.class。

(我宁愿不必在内存中解压 jar)。

非常感谢您的贡献,

最佳答案

我不是很确定,但看起来 Thread.currentThread().getContextClassLoader().getResourceAsStream("/plugin.xml") 可能会解决您的问题。如果没有,您将必须创建自己的 ClassLoader 并在那里解决问题。

关于java - ClassLoader 加载错误的文件实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9773535/

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