2012-09-06 74 views
3

我想从我的类路径中的架构使用JAXB生成java类。对于CXF我产生从WSDL的Java类在我的类路径,像这样:使用jaxb从我的类路径中的xsd生成源

<wsdlOptions> 
    <wsdlOption> 
     <wsdl>classpath:wsdl/MetsInterfaceService.wsdl</wsdl> 
    </wsdlOption> 
</wsdlOptions> 

我希望类似的东西与JAXB存在。我尝试使用一个目录,但是当一个模式(存储在同一个maven模块中)导入classpath中的另一个模式时,这似乎更符合要求。

任何帮助,将不胜感激! -Sal

回答

2

CXF XJC Maven Plugin似乎支持classpath:

的XsdOption对象用于传递特定选项和对于每个XSD文件要被处理 配置。

网站上的示例显示classpath:以几种方式使用在<xsdOption>路径为<xsd><bindingFile>,和<catalog>路径:

<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>