【问题标题】:jaxb - unmarshalling `>` character problem with javadocjaxb - 使用 javadoc 解组`>` 字符问题
【发布时间】:2021-09-27 02:57:43
【问题描述】:

我正在使用

<cxf-version>3.4.4</cxf-version>
<springframework.version>4.1.6.RELEASE</springframework.version>
<slf.version>1.7.9</slf.version>

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.0</version>
    <scope>provided</scope>
</dependency>

然后在java中:

final Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
jaxbUnmarshaller.setSchema(schema);

但是An error has occurred in JavaDocs report generation: 时出现错误

[ERROR] /builds/provisioning/target/generated-sources/cxf/at/ActionType.java:26: error: bad use of '>'
[ERROR]  * &lt;complexType name="actionType">

似乎&amp;lt; 正确转义为&amp;lt;,但&gt; 没有转义,而是&gt;,这对我来说会导致错误。我找到了jaxbUnmarshaller.setProperty("jaxb.encoding", "Unicode");,但在这个例子中它没有任何改变。

【问题讨论】:

  • 我认为这“只是”Java 8+ JavaDoc 更严格规则的问题。见this SO question for discussions of the issue and potential workarounds
  • 请注意,unicode 和编码&amp;lt;&amp;lt; 是两个不同的东西。 Unicode大约是character &lt;-&gt; byte转换,另一个是character &lt;-&gt; html entity转换。
  • 转义 XML 字符与字符编码没有任何关系,因此尝试设置字符编码(通过设置属性 jaxb.encoding)不会改变与此问题相关的任何内容。
  • 谢谢大家,确实它适用于&lt;additionalparam&gt;Xdoclint:none&lt;/additionalparam&gt;,但它似乎更像是解决方法而不是正确的解决方案。我会尝试再玩一段时间。 @Edit 在@JoachimSauer 链接的网站上有一条关于jaxb 的评论,我认为值得牢记——我尝试使用最新版本的cxfjaxb,但仍然失败,所以它看起来更有弹性不要为我无法更改的代码生成它。

标签: java maven jaxb javadoc


【解决方案1】:

有一种方法可以修复而不是使用&lt;additionalparam&gt;Xdoclint:none&lt;/additionalparam&gt;。 我在pom.xml 中使用了cfxjaxb 的所有最新版本并工作(生成&amp;lt&amp;gr 而不是&lt;&gt;)所以似乎它已在jaxb lib 中修复。

(由于 pom 和 parent pom 中的这些版本,它之前对我不起作用)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    相关资源
    最近更新 更多