gpt4 book ai didi

java - 从错误的 jar 加载类并获取类转换异常

转载 作者:行者123 更新时间:2023-11-30 09:12:56 25 4
gpt4 key购买 nike

我在我的项目中使用了几种不同的模式。它们都被编译成一个单独的 jar,每个都使用一个单独的包,使用 xmlbeans ant 任务。我似乎只能为类路径中第一个模式 jar 成功解析 xml(使用 .Factory.parse(String xml) 方法),否则我会得到一个 ClassCastException 如该错误中所述。如果我更改 jar 顺序,不同的模式将能够成功解析,并且将为不同的类抛出 ClassCastException

我已经进行了一些调试,我得出的结论是 schemaorg_apache_xmlbeans.namespace 包的结构可能是问题所在。由于我的模式没有 namespace ,我构建的每个 jar 共享一些在相同包中同名的文件。具体来说,我看到每个 jar 都有一个 schemaorg_apache_xmlbeans.namespace._nons.xmlns.xsb 文件,该文件似乎指向该 jar 的实际模式。如果工厂使用这个文件来确定它将用来解析它拥有的 xml 的一些类,这可能解释了 ClassCastException,因为它只查看类路径中的第一个文件而不是正确的文件一个是它拥有的 XML。是否有任何选项可以为在 wsdls 或 xsds 中或在 ant 任务“wsdl 到 java”编译中生成的模式(如 java namespace )指定 namespace ?

最佳答案

我认为问题在于 XMLBeans 使用某种内部模式缓存将它们混合在一起。

您是否尝试过为您的架构 (xsds) 提供不同的命名空间?

关于java - 从错误的 jar 加载类并获取类转换异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21275115/

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