【问题标题】:Generate source using jaxb from an xsd that is in my classpath使用 jaxb 从我的类路径中的 xsd 生成源代码
【发布时间】:2012-09-06 19:52:42
【问题描述】:

我正在尝试使用 JAXB 从我的类路径中的模式生成 java 类。对于 CXF,我从类路径中的 wsdl 生成 java 类,如下所示:

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

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

任何帮助将不胜感激! -萨尔

【问题讨论】:

    标签: xsd classpath cxf jaxb2 generated-code


    【解决方案1】:

    CXF XJC Maven Plugin 似乎支持classpath:

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

    网站上的示例显示了classpath: 以多种方式在&lt;xsd&gt;&lt;bindingFile&gt;&lt;catalog&gt; 路径的&lt;xsdOption&gt; 路径中使用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多