我似乎无法弄清楚如何控制maven-jaxb-schemagen-plugin创建的XSD文件的文件名。 documentation有点稀疏。
<groupId>com.sun.tools.jxc.maven2</groupId>
<artifactId>maven-jaxb-schemagen-plugin</artifactId>
<version>1.2</version>
<configuration>
<project>${project}</project>
<destdir>${project.build.directory}/generated-resources/schemas</destdir>
<srcdir>${project.build.sourceDirectory}/my/jaxb/bean/package</srcdir>
<verbose>true</verbose>
</configuration>
似乎总是创建一个名为schema1.xsd
的文件答案 0 :(得分:4)
您需要添加架构元素,这些元素描述哪个文件应包含您拥有的每个命名空间的元素:
<configuration>
[...]
<schemas>
<schema>
<namespace>http://www.example.invalid/2001/05/27/wibble</namespace>
<file>wibble.xsd</file>
</schema>
</schemas>
<configuration>
假设您已设置组件的命名空间
@XmlRootElement(name = "wobble", namespace="http://www.example.invalid/2001/05/27/wibble")