【问题标题】:Unable to marshal Java class when @XmlRootElement annotation is present存在 @XmlRootElement 注释时无法编组 Java 类
【发布时间】:2016-01-26 16:32:13
【问题描述】:

我在 CentOS6.4 下使用 nebteas 8.1、Java 1.8 编写一个 netbeans 平台应用程序。

我有一个看起来像这样的 Java 类(省略了导入类):

@XmlAccessorType(value = XmlAccessType.FIELD)
@XmlRootElement(name = "module-task")
public class MyTask extends BaseClass {
    // methods, members
}

当我尝试使用 JAXBContext 对其进行编组时,我收到一条错误消息,声称它缺少一个 @XmlRootElement 注释(显然之前的代码 sn-p 中有一个注释)。

谁能指出为什么@XmRootElement 注释没有被识别?

【问题讨论】:

  • 这些导入可能很重要...

标签: java xml jaxb netbeans-platform


【解决方案1】:

您没有实现Serializable。这就是原因,因为将对象的状态转换为 XML 基本上只是一种不同的序列化方式。

添加implements java.io.Serializable,如果你不想提供serialVersionUUID,也可以在类上添加@SuppressWarnings("serial")注解。

这应该解决它。

【讨论】:

    猜你喜欢
    • 2016-08-31
    • 2018-05-27
    • 2015-09-22
    • 1970-01-01
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多