我有一个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时,有人可以建议插件可能出现什么问题吗?
答案 0 :(得分:1)
maven-jaxb2-plugin
只是XJC的包装器。它本身不进行任何模式处理,只调用XJC。
请在此处将测试用例作为PR请求发送给我:
https://github.com/highsource/maven-jaxb2-plugin/tree/master/tests
我会检查这是否与插件有关(不太可能)或将其转发给Oracle。
我认为,这可能也是设计的 - 如果您的one.wsdl
没有使用two.wsdl
中的任何内容,那么two.wsdl
将不生成任何内容。