使用jaxb从我的类路径中的xsd生成源代码 [英] Generate source using jaxb from an xsd that is in my classpath
问题描述
我正在尝试使用类路径中的模式使用JAXB生成java类。对于CXF,我在类路径中从wsdl生成了java类,如下所示:
I'm trying to generate java classes using JAXB from a schema in my class path. For CXF I generated java classes from a wsdl in my classpath like so:
<wsdlOptions>
<wsdlOption>
<wsdl>classpath:wsdl/MetsInterfaceService.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
我希望JAXB存在类似的东西。我确实尝试使用目录,但是当一个模式(存储在同一个maven模块中)导入类路径中的另一个模式时,这似乎更符合要求。
I was hoping something similar existed with JAXB. I did try using a catalog but this seems to be more in line when a schema (stored in the same maven module) imports another schema in the classpath.
任何帮助将不胜感激!
-Sal
Any help would be appreciated! -Sal
推荐答案
CXF XJC Maven插件似乎支持 classpath:
。
The CXF XJC Maven Plugin appears to support classpath:
.
XsdOption对象用于为每个要处理的XSD文件传递特定选项和
配置。
The XsdOption object is used to pass specific options and configuration for each XSD file that is to be processed.
网站上的示例显示类路径:
在< xsdOption>中以多种方式使用;
< xsd>
,< bindingFile>
和<$ c的路径$ c>< catalog> 路径:
The example on the site shows classpath:
used in several ways in <xsdOption>
paths for <xsd>
, <bindingFile>
, and <catalog>
paths:
<configuration>
<sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
<xsdOptions>
<xsdOption>
<xsd>classpath:/schemas/wsdl/http.xsd</xsd>
<bindingFile>classpath:/schemas/wsdl/http.xjb</bindingFile>
<catalog>${basedir}/src/main/build-resources/catalog.cat</catalog>
</xsdOption>
<xsdOption>
<xsd>classpath:/schemas/wsdl/ws-addr.xsd</xsd>
<packagename>org.apache.cxf.ws.addressing</packagename>
</xsdOption>
<xsdOption>
<xsd>classpath:/schemas/wsdl/addressing.xsd</xsd>
<bindingFile>classpath:/schemas/wsdl/addressing.xjb</bindingFile>
</xsdOption>
<xsdOption>
<xsd>classpath:/schemas/configuration/security.xsd</xsd>
<bindingFile>classpath:/schemas/configuration/security.xjb</bindingFile>
<catalog>${basedir}/src/main/build-resources/catalog.cat</catalog>
<extensionArgs>
<extensionArg>-Xdv</extensionArg>
</extensionArgs>
</xsdOption>
<xsdOption>
<xsd>classpath:/schemas/wsdl/ws-addr-wsdl.xsd</xsd>
<bindingFile>classpath:/schemas/wsdl/ws-addr-wsdl.xjb</bindingFile>
<extension>true</extension>
</xsdOption>
<xsdOption>
<xsd>classpath:/schemas/wsdl/addressing200403.xsd</xsd>
<bindingFile>classpath:/schemas/wsdl/addressing200403.xjb</bindingFile>
</xsdOption>
</xsdOptions>
</configuration>
这篇关于使用jaxb从我的类路径中的xsd生成源代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!