JAXB使用Maven插件编组CDATA

时间:2014-08-06 15:05:06

标签: java maven jaxb cdata maven-jaxb2-plugin

这是我的一般问题:我希望所有内容都尽可能自动化

这是我的具体问题:我想编组/解组CDATA 。我知道我可以将自己的适配器指定为here。对于构建过程,我使用Maven及其 maven-jaxb2-plugin 。是否有一些选项如何注释.xsd中的元素,以便它们将由我的自定义适配器自动注释?我真的不想在每次构建后手动更改它们。

如何解决我的问题的任何其他方式都非常受欢迎。 :)

编辑:我已经遇到了一个子问题,并在那里进行了描述:JAXB binding - "unable to honor this conversion customization"

1 个答案:

答案 0 :(得分:1)

尝试此配置

<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
    xmlns:annox="http://annox.dev.java.net"
    xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix">
    <bindings schemaLocation="yourXSD.xsd">

            <bindings node="//xsd:complexType[@name='Certificate']//xsd:sequence//xsd:element[@name='certificate']">
                <xjc:javaType name="java.security.cert.X509Certificate" adapter="adapters.X509CertificateAdapter" />
            </bindings>
            <bindings node="//xsd:complexType[@name='User']//xsd:sequence//xsd:element[@name='certificate']">
                <xjc:javaType name="java.security.cert.X509Certificate" adapter="adapters.X509CertificateAdapter" />
            </bindings>

    </bindings>
</bindings>

我在link

上解决了这个问题

这个配置工作正常,如果是像xs:string,xs:date等的xmltype。

使用XmlJavaTypeAdapter尝试this配置来解决您的问题。

相关问题