Плагин jaxb2 maven получает ошибку при генерации xsd из сложных классов

У меня есть случай, когда у меня есть 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 статическим внутренним классом.

lexicore 23.04.2018 20:05

Нет, это невозможно. и для других классов также не возникает ошибка

boraer 23.04.2018 21:21

Почему это невозможно?

lexicore 23.04.2018 21:23

Я нашел проблему. каждому классу нужен конструктор по умолчанию

boraer 23.04.2018 22:02
Не удалось выполнить цель org.apache.maven.plugins
Не удалось выполнить цель org.apache.maven.plugins
Опишу, что когда я только начинал изучать Maven, у меня не получалось компилировать и упаковывать.
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
2
4
606
1

Ответы 1

Я нашел проблему. каждому классу нужен конструктор по умолчанию

Другие вопросы по теме