JIBX :JiBX 代码中的错误



项目设置:

项目域包含无 jibx 配置的所有域对象。

Class A {
  List<A> list;
}

Project JibxTest 包含 jibx 配置及其域.jar

当我们尝试在 JibxTest 项目中配置绑定时.xml如下所示:

<binding>
    <mapping name="A" class="Domains.A" ordered="false">
          <collection item-type="Domains.A" field="list" usage="optional" create- type="java.util.ArrayList"/> 
    </mapping>
</binding>  

我们得到 JIBX 异常:

Error during code generation for file 'C:JIBXTest/binding.xml' -
     [bind]  this may be due to an error in your binding or classpath, or to an error in the JiBX code ***
     [bind] java.lang.IllegalStateException: Internal error - cannot modify class Domains.A loaded from C:JIBXTestlibDomains.jar

当我们将 Domain.A 类复制到 JibxTest 项目中并修改绑定文件时。它有效。

根据这封电子邮件:

JiBX 应该能够处理 jar 中的类,只要 您仅使用公共字段或方法。如果字段不是公共的, 您需要切换到公共获取/设置方法(如果可用)或 解压缩类文件,以便 JiBX 绑定编译器可以修改它们。

在Java中,有getter和setter是标准的,所以我建议你添加它们。

相关内容

最新更新