-->

使用JAXB从XSD这是在我的类路径生成源(Generate source using jaxb f

2019-09-22 05:14发布

我试图使用生成JAXB从我的类路径架构的Java类。 对于CXF我生成的Java类的,像这样在我的类路径中的wsdl:

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

我希望类似的东西与JAXB存在。 我曾尝试使用目录,但这似乎更符合方案时,(存储在同一个行家模块)导入另一个架构在classpath。

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

Answer 1:

该CXF XJC Maven插件似乎支持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>


文章来源: Generate source using jaxb from an xsd that is in my classpath