我有一个案例,我有35个课程,其中一些课程内部相互关联。如;
Addendum.java
@XmlType(name="addendum",namespace= GenericNameSpaceConstants.POLICY_NAMESPACE_URI)
@XmlAccessorType(XmlAccessType.FIELD)
public class Addendum implements Serializable {
@XmlElement(name="changeNumber",nillable=false,required=true)
private Long changeNumber;
@XmlElement(name="changeTypeDesc",nillable=false,required=true)
private String changeTypeDesc;
@XmlElement(name="changeTypeId",nillable=false,required=true)
private Integer changeTypeId;
}
Policy.java
@XmlRootElement(name="policy",namespace=GenericNameSpaceConstants.POLICY_NAMESPACE_URI)
@XmlType(name="policy",namespace= GenericNameSpaceConstants.POLICY_NAMESPACE_URI)
@XmlAccessorType(XmlAccessType.FIELD)
public class Policy {
@XmlElement(name="addendum",required=true,nillable=false)
private Addendum addendum;
}
My jaxb schemage config in pom file like that
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<createJavaDocAnnotations>false</createJavaDocAnnotations>
<sources>
<source>
${project.basedir}\src\main\java\com\aegon\common\service\bean\
</source>
</sources>
<verbose>true</verbose>
<outputDirectory>${basedir}/src/main/resources/schemas</outputDirectory>
<transformSchemas>
<transformSchema>
<toPrefix>pol</toPrefix>
<toFile>policy_model_v2.xsd</toFile>
</transformSchema>
</transformSchemas>
<generateEpisode>true</generateEpisode>
</configuration>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>schemagen</goal>
</goals>
</execution>
</executions>
</plugin>
当我为阶段生成资源或生成源运行项目时。我收到此错误附录是一个非静态内部类,JAXB无法处理这些错误。
我该如何解决这个问题?如何在一个简单的xsd中生成所有类xsd或者我如何逐个创建xsds并导入到复杂的一个
答案 0 :(得分:3)
我发现了这个问题。每个类都需要一个默认的构造函数