有一段时间我不得不接触XML和Schema文件。
我已经从一些示例有效负载创建了一个XSD模式,然后使用maven-jaxp从中生成Java类。
XML包含以下形式的元素列表:

<Root>
   <Subs>
      <Sub />
      <Sub />
      [...]
   </Subs>
</Root>


在此示例中,派生的xsd定义了RootType,SubsType和SubType。我想将“ Subs”实现为ArrayList而不是生成的类,如何为此更改XSD?

干杯,

最佳答案

我发现解决方案是向jaxb2-maven-plugin添加扩展:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxb2-maven-plugin</artifactId>
            <version>2.5.0</version>
            <executions>
                <execution>
                    <id>xjc</id>
                    <goals>
                        <goal>xjc</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <packageName>my.model</packageName>
                <extension>true</extension>
                <arguments>
                    <argument>-no-header</argument>
                    <argument>-Xxew</argument>
                    <argument>-Xxew:instantiate lazy</argument>
                   </arguments>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>com.github.jaxb-xew-plugin</groupId>
                    <artifactId>jaxb-xew-plugin</artifactId>
                    <version>1.10</version>
                </dependency>
                <dependency>
                    <groupId>javax.xml.bind</groupId>
                    <artifactId>jaxb-api</artifactId>
                    <version>2.3.1</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>

09-10 07:06
查看更多