gpt4 book ai didi

java - JAXb(版本 2.2.8)以错误的格式编码 gmonth

转载 作者:行者123 更新时间:2023-11-29 08:53:46 25 4
gpt4 key购买 nike

xsd 文件包含以下内容:

<xsd:attribute name="month" type="xsd:gMonth" use="optional"/>

然后我尝试编码一个有效的 XML:

Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setSchema(schema);
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,Boolean.TRUE);
marshaller.marshal(cv, outWriter);

StringBuffer sb = ((StringWriter) outWriter).getBuffer();
xml = sb.toString();

生成的字符串 (xml) 包含:month="--03--" 而不是 month="--03"

我对 jaxb 的 pom.xml 依赖是:

<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.8-b01</version>
<scope>provided</scope>
</dependency>

这与这个问题有关吗? https://java.net/jira/browse/JAXB-643 2.2.8应该已经解决了。如何获得 gmonth 的正确值?

最佳答案

我建议您将 FINE 日志记录设置为 jaxb-impl 并尝试设置

 jaxb.ri.useOldGmonthMapping

环境变量。您应该让日志行描述 here因为有可能对于特定的运行时部署,您实际上使用的是 2.2.8-b01 jaxb 版本。

关于java - JAXb(版本 2.2.8)以错误的格式编码 gmonth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21407573/

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