【问题标题】:Jaxb2 maven plugin getting error when generating xsd from complex classes从复杂类生成 xsd 时,Jaxb2 maven 插件出错
【发布时间】:2018-04-23 17:25:23
【问题描述】:

我有一个案例,我有 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>

当我为阶段 generate-resources 或 generate-sources 运行项目时。我收到此错误附录是非静态内部类,JAXB 无法处理这些。

我该如何解决这个问题?我如何在一个简单的 xsd 中生成所有类 xsd 或者我如何一个一个地创建 xsds 并导入到复杂的一个

【问题讨论】:

  • 考虑将Addendum 设为静态内部类。
  • 不,这是不可能的。并且其他类也没有出错
  • 为什么不可能?
  • 我发现了问题。每个类都需要一个默认构造函数

标签: maven jaxb jaxb2 jaxb2-maven-plugin


【解决方案1】:

我发现了问题。每个类都需要一个默认构造函数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-20
    • 2013-12-18
    • 2011-03-28
    • 1970-01-01
    • 2012-03-02
    • 2013-03-31
    • 2011-12-30
    • 1970-01-01
    相关资源
    最近更新 更多