使用jaxb从我的类路径中的xsd生成源代码 [英] Generate source using jaxb from an xsd that is in my classpath

查看:69
本文介绍了使用jaxb从我的类路径中的xsd生成源代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用类路径中的模式使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆