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

mem*_*und 3 java cxf xjc maven

我想将maven cxf-xjc-plugin插件用于xsd文件中的java类.我有大约30个xsd文件,我必须将它们中的每一个显式链接在里面xsdOptions.

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

Tun*_*aki 8

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

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

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

此属性未记录,但您可以 3.0.5版的源代码中找到它.

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

<xsdOption>
  <xsdDir>/path/to/directory/having/all/XSD</xsdDir>
  <!-- rest of configuration -->
</xsdOption>
Run Code Online (Sandbox Code Playgroud)

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

  • 优秀的研究.这对我来说是一个很棒的解决方案. (2认同)