我有一个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
将不会生成任何内容。