JIBX:JiBX代码出错

时间:2013-11-07 16:23:30

标签: java jibx

项目设置:

Project Domains包含所有没有jibx配置的域对象。

Class A {
  List<A> list;
}

Project JibxTest包含jibx配置,其中包含Domains.jar

当我们尝试在Project JibxTest中配置binding.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:\JIBXTest\lib\Domains.jar

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

1 个答案:

答案 0 :(得分:-5)

this email

  

JiBX应该能够使用jar中的类   你只使用公共领域或方法。如果字段不公开,   你需要切换到公共get / set方法(如果可用)或   解开类文件,以便JiBX绑定编译器可以修改它们。

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