首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为JAXB创建的类添加注释的问题

为JAXB创建的类添加注释的问题
EN

Stack Overflow用户
提问于 2022-08-16 14:27:14
回答 1查看 47关注 0票数 0

我使用maven-jaxb2-plugin来生成基于.wsdl文件的模型。现在,我需要向其中一个类添加注释。我试着使用jaxb2-basics-annotate,并且非常接近成功,但现在我被困住了。

我的目标是实现这一目标:

代码语言:javascript
复制
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BinaryObjectType", propOrder = {
    "value"
})
public class BinaryObjectType {

    @XmlValue
    @XmlJavaTypeAdapter(BinaryObjectTypeValueAdapter.class)
    protected byte[] value;
}

但我目前的产出是:

代码语言:javascript
复制
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BinaryObjectType", propOrder = {
    "value"
})
@XmlJavaTypeAdapter(BinaryObjectTypeValueAdapter.class)
public class BinaryObjectType {

    @XmlValue
    protected byte[] value;
}

我的bunding.xjb看起来是这样的:

代码语言:javascript
复制
<jxb:bindings schemaLocation="file:./schema.wsdl"
                  node="//xs:complexType[@name='BinaryObjectType']/xs:simpleContent">
        <annox:annotate>
            <annox:annotate annox:class="javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter"
                            value="example.mapper.BinaryObjectTypeValueAdapter">
            </annox:annotate>
        </annox:annotate>
</jxb:bindings>

.wsdl的相关片段

代码语言:javascript
复制
<xsd:complexType name="BinaryObjectType">
 <xsd:annotation...>
 <xsd:simpleContent>
  <xsd:extension base="xsd:base64Binary">
   <xsd:attribute name="format" type="xsd:normalizedString" use="optional">
   ...
  </xsd:extension>
 </xsd:simpleContent>

我不能修改它。基本上,我的问题是我不知道如何将XPath指定为BinaryObjectType类的value属性。我试着使用simpleContent、分机等,但是没有什么对我有用。我看到我可以在target级别上指定annox:annotate,但这并没有帮助。

EN

回答 1

Stack Overflow用户

发布于 2022-08-16 16:31:38

整天谷歌和我都发现了JAXB bindings - address content of an xs:string extension with xpath。还没有实现,但看起来像是一个答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73375652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档