有一段时间我不得不接触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>