如何使用cxf-xjc-plugin从多个xsd生成pojos?

时间:2016-01-25 14:25:52

标签: java maven cxf xjc

我想将maven cxf-xjc-plugin插件用于xsd个文件中的java类。我有大约30个xsd文件,我必须在xsdOptions内明确链接每个文件。

是否可以为此插件提供wilcard匹配,以便从找到的任何xsd文件生成?

1 个答案:

答案 0 :(得分:8)

不幸的是,这个插件会强制开发人员为每个XSD编写路径。您不能使用通配符指定XSD文件的路径。

但是,对插件进行了未记录的更新,允许指定目录而不是文件列表。因此,如果所有XSD都在同一目录中,则可以指定此目录。我在2015年7月的dkulp@apache.org来自cxf-commits邮件列表中跟踪了更改为this email

  

从XSD文件配置代码生成的便捷选项:   而不必使用<xsd>明确列出每个文件   element,现在可以使用新的<xsdDir>元素代替   指定目录。从此目录中将显示所有*.xsd个文件   用于代码生成。

此属性is not documented但您可以为版本3.0.5找到它in the source code

然后您可以进行以下配置:

<xsdOption>
  <xsdDir>/path/to/directory/having/all/XSD</xsdDir>
  <!-- rest of configuration -->
</xsdOption>

请注意,通过阅读源代码,搜索XSD文件不是递归的:所有XSD必须放在此目录中,而不是放在子目录中,以便插件找到它们。