Java JAXB使用Maven插件编组CDATA
这是我的普遍问题:我希望一切尽可能自动化 这是我的具体问题:我想封送/取消封送CDATA。我知道我可以将自己的适配器指定为。对于构建过程,我使用Maven及其Maven-jaxb2-plugin。在Java JAXB使用Maven插件编组CDATA,java,maven,jaxb,cdata,maven-jaxb2-plugin,Java,Maven,Jaxb,Cdata,Maven Jaxb2 Plugin,这是我的普遍问题:我希望一切尽可能自动化 这是我的具体问题:我想封送/取消封送CDATA。我知道我可以将自己的适配器指定为。对于构建过程,我使用Maven及其Maven-jaxb2-plugin。在.xsd中是否有注释元素的选项,以便我的自定义适配器自动注释这些元素?我真的不想在每次构建之后手动更改它们 任何其他解决我问题的方法都非常受欢迎。:) 编辑:我已经运行到一个子问题,在那里有描述:。尝试此配置 <bindings version="2.0" xmlns="http://java.
.xsd
中是否有注释元素的选项,以便我的自定义适配器自动注释这些元素?我真的不想在每次构建之后手动更改它们
任何其他解决我问题的方法都非常受欢迎。:)
编辑:我已经运行到一个子问题,在那里有描述:。尝试此配置
<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>
我在这个问题上解决了这个问题
如果是xs:string、xs:date等xmltype,则此配置可以正常工作
尝试使用XmlJavaTypeAdapter进行配置以解决您的问题。如果您在配置方面有问题,请添加一些示例以更好地帮助您:)也许我的答案不完整。“CDATA”一词表示“未解析的字符数据”,用于表示XML元素内容的特定表示技术:“CDATA部分以”“(w3schools.com)开头。您是否解决了此问题?如果是,你是如何解决的?@Xstian-非常感谢Xstian!看起来它会成功,但我仍然有一个大问题。在我的模式中,我声明了自己的complexType。当我想绑定它时,插件告诉我,
…未定义的简单类型…
您可以添加一些配置或示例吗,为了更好地帮助您:)对不起,我刚写完我的评论以提供源代码,就编辑了它,但不知怎的,它没有保存。:),作为一个问题: