gpt4 book ai didi

java - Castor - MappingException Java 类不可构造

转载 作者:太空宇宙 更新时间:2023-11-04 13:52:05 24 4
gpt4 key购买 nike

使用 Castor 1.3,在测试时收到以下异常:

org.exolab.castor.mapping.MappingException: The Java class com.company.sales.app.valueobjects.eai.ContactInformationValueObject$CommunicationPreference is not constructable -- it does not contain a default public constructor

尝试在我的 Java 代码中使用公共(public)内部类的集合。

类示例:

public class Car {
public String color;
public String make;
public String model;
public List<RoadTrip> roadTrips;

public class RoadTrip {
public String pointA;
public String pointB;
}
}

XML 映射:

<class name="com.auto.Car" >
<field name="color" type="java.lang.String"><bind-xml name="COLOR" /></field>
<field name="make" type="java.lang.String"><bind-xml name="MAKE" /></field>
<field name="model" type="java.lang.String"><bind-xml name="MODEL" /></field>
<field name="roadTrips" type="com.auto.Car$RoadTrip"><bind-xml name="TRIP" /></field>
</class>
<class name="com.auto.Car$RoadTrip">
<field name="pointA" type="java.lang.String"><bind-xml name="STARTING_POINT" /></field>
<field name="pointB" type="java.lang.String"><bind-xml name="DESTINATION" /></field>
</class>

XML 示例

<AUTOMOBILE>
<COLOR>LITTLE RED</COLOR>
<MAKE>CHEVROLET</MAKE>
<MODEL>CORVETTE</MODEL>
<TRIP>
<STARTING_POINT>DALLAS</STARTING_POINT>
<DESTINATION>VEGAS</DESTINATION>
</TRIP>
<TRIP>
<STARTING_POINT>SEATTLE</STARTING_POINT>
<DESTINATION>PORTLAND</DESTINATION>
</TRIP>
</AUTOMOBILE>

最佳答案

已解决:我收到异常的原因是因为我需要将内部类设为静态,以便 Castor 能够使用它。

网络上其他地方有很多帖子建议使用

verify-constructable="false"

但是内部类中缺少 static 是一个简单的错误。希望对其他人有帮助!

public class Car {
public String color;
public String make;
public String model;
public List<RoadTrip> roadTrips;

public static class RoadTrip {
public String pointA;
public String pointB;
}
}

http://castor.codehaus.org/1.2/how-to-map-an-inner-class.html

关于java - Castor - MappingException Java 类不可构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30197550/

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