由于WSDL导入,无法生成JAXB工件



我有一个WSDL(比如说one.WSDL),我想使用maven插件从中生成JAXB工件。one.wsdl导入另一个wsdl(two.wsdl)。当我运行maven插件来生成JAXB工件时,看起来它没有识别two.wsdl,也没有生成JAXB部件。

<plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb2-plugin</artifactId>
    <version>0.7.5</version>
    <executions>
        <execution>
            <id>DataBindings_XJC_generate</id>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <schemaDirectory>src/main/resources/wsdl/</schemaDirectory>
                <schemaIncludes>
                    <include>one.wsdl</include>
                </schemaIncludes>
                <generateDirectory>src/main/java/</generateDirectory>
                <generatePackage></generatePackage>
                <readOnly>true</readOnly>
                <removeOldOutput>true</removeOldOutput>
                <verbose>true</verbose>
                <extension>false</extension>
                <forceRegenerate>true</forceRegenerate>
                <episode>false</episode>
            </configuration>
        </execution>
    </executions>
</plugin>

one.wsdl是这样引用two.wsdl的(两者都在同一目录中)。

<wsdl:import namespace="http://namespce:uri" location="two.wsdl"/>

然而,如果我在插件中给出two.wsdl(在include标记中),它就能够成功地生成jaxb工件。

有人能建议一下在识别导入的WSDL时插件可能出了什么问题吗?

maven-jaxb2-plugin只是XJC的包装器。它自己不做任何模式处理,只调用XJC。

请在这里向我发送一个测试用例作为PR请求:

https://github.com/highsource/maven-jaxb2-plugin/tree/master/tests

我会检查这是否与插件有关(不太可能),或者将其转发给Oracle。

我认为,这可能也是出于设计——如果one.wsdl不使用two.wsdl中的任何内容,那么two.wsdl将不会生成任何内容。

最新更新