У меня есть случай, когда у меня есть 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>
Когда я запускаю проект на этапе создания ресурсов или источников. Я получаю эту ошибку Addendum - это нестатический внутренний класс, и JAXB не может с ними справиться.
Как я могу решить эту проблему? Как я могу сгенерировать все классы xsd в простом xsd или как я могу создать xsds один за другим и импортировать в сложный
Нет, это невозможно. и для других классов также не возникает ошибка
Почему это невозможно?
Я нашел проблему. каждому классу нужен конструктор по умолчанию


Я нашел проблему. каждому классу нужен конструктор по умолчанию
Подумайте о том, чтобы сделать
Addendumстатическим внутренним классом.