gpt4 book ai didi

java - 当尝试读取 XML 时,Bundle 对不同的 Bundle 产生了无法解释的要求

转载 作者:行者123 更新时间:2023-12-01 05:43:20 24 4
gpt4 key购买 nike

这对我来说是一个奇怪的情况。我们有一个使用 OSGI 的大型项目,我正在修改其中一个包。大多数更改都可以正常工作,但当我尝试更新一部分代码以读取某些 XML 时, bundle 拒绝加载。我收到一条错误消息,指出我的包缺少 jogl 版本 0.0.0 的约束。我的 bundle 不直接使用 JOGL,尽管它所依赖的 bundle 确实使用 JOG。我们安装了 jogl_1.1.1 包,足以加载所有其他 JOGL 依赖包;

通过注释掉部分代码并进行测试,我发现我可以导入所有适当的类,但是当我尝试使用 DocumentBuilderFactory 解析 XML 时,我收到关于缺少 JOGL 包的提示。即使我将 DocumentBuilderFactory 添加到从未被调用的方法中,也会发生这种情况;尽管我确保 XML-APIS jar 位于类路径中,但还是发生了。

我完全不知道如何将 XML 解析连接到 JOGL。 0.0.0 的捆绑版本是否有效?我不知道从这里到哪里去,所以任何有关此行为的原因或我可以尝试解决此问题的建议都将受到赞赏。

谢谢

最佳答案

就像提到的评论一样,了解您是否正在尝试导入它或者是否收到 ClassNotFound 会很有帮助。

如果您尝试导入它但失败了,可能是 BND 在分析您的代码时有点困惑。如果是这种情况,我建议在 list 中明确声明您的导入。 (至少作为一个临时修复来尝试了解有关该问题的更多信息)。

如果是ClassNotFound,那就很奇怪了。我注意到 JOGL 使用 DocumentBuilderFactory。我开始胡思乱想,但 JOGL 可能在加载/实现 DocumentBuilderFactory 方面做了一些不好的事情,并且导致多个包出现问题。

最后,您是否尝试过制作一个虚拟包,其中有一个类调用 DocumentBuilderFactory 来查看是否存在相同的问题?

关于java - 当尝试读取 XML 时,Bundle 对不同的 Bundle 产生了无法解释的要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551750/

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