gpt4 book ai didi

java - JAXB Marshal 异常 : . Impl 类或其任何父类(super class)都不为任何此上下文所知

转载 作者:行者123 更新时间:2023-11-30 11:45:22 26 4
gpt4 key购买 nike

我在使用 JAXB 编码 Java 对象时遇到问题。当我将 Web 服务作为独立应用程序运行时,它运行良好。

当我将它与我的项目集成并使用生成的 Java 类时,在编码时,我得到一个异常(exception)

RequestImpl class nor any of its super class is not known to any of this context.

在生成我的 JAXB 实例时,我使用以下语句:

JAXBContext jaxb = JAXBContext.newInstance("com.eos.hotels.API.Request");

我有 2 个独立的 xsds,一个用于 Request,另一个用于 Response

生成的java类存放在文件夹结构如下:

API->RequestAPI->Response

在上述两个文件夹中,一个ObjectFactory.java被创建,jaxb.properties也在那里。

此外,在上述每个文件夹中,都会创建 impl 文件夹,其中包含所有 Impl 文件,在这个 impl 文件夹中, runtime 文件夹已创建。

XSD 中的所有 xs:element 都是作为接口(interface)创建的,只有 Impls 是类。此外,生成的 java 文件中没有 XML 注释。

谁能告诉我这里出了什么问题?

出现此问题是因为文件夹结构还是因为 XML 注释不存在?

我在互联网上看到,如果不存在注释也不是问题。

我什至尝试将生成的 impl 类复制到与 ObjectFactory.java 相同的文件夹中,但这也没有用。

最佳答案

尝试在 JAXBContext 对象上调用 toString 方法。因为您使用的是 JAXB1 类,所以它应该显示如下内容:com.eos.hotels.API.impl.runtime.DefaultJAXBContextImpl。如果不是 - 您可能在 com.eos.hotels.API 包中没有 jaxb.properties 文件,或者您已经删除了 com.eos.hotels.API.impl.runtime 包。

关于java - JAXB Marshal 异常 : . Impl 类或其任何父类(super class)都不为任何此上下文所知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10350549/

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