<!-- tag::wsdl[] -->
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<id>firstrun</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaLanguage>WSDL</schemaLanguage>
<generatePackage>my.package.osb.services.wsdl1</generatePackage>
<schemas>
<schema>
<url>http://x.x.x.x:8002/wsdl1?wsdl</url>
</schema>
</schemas>
</configuration>
</execution>
<execution>
<id>secondrun</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaLanguage>WSDL</schemaLanguage>
<generatePackage>my.package.osb.services.wsdl2</generatePackage>
<schemas>
<schema>
<url>http://x.x.x.x:8002/wsdl2?wsdl</url>
</schema>
</schemas>
</configuration>
</execution>
</executions>
</plugin>
<!-- end::wsdl[] -->
我的理解是上面应该在两个不同的包中生成两个URL中描述的POJO。
我不明白为什么它不起作用。我在mvn jaxb2:generate
之后收到的错误是No schemas to compile. Skipping XJC execution.
请一个人提供一个完整的解决方案,如何正确地使用 WSDL网址?
答案 0 :(得分:0)
如果您运行mvn jaxb2:generate
maven并未在执行中使用configuration
。
您已经声明了应该绑定执行的phase
,因此请运行mvn generate-sources
。
https://maven.apache.org/guides/mini/guide-configuring-plugins.html#Using_the_executions_Tag说:
注意:
<executions>
标记内的配置与<executions>
之外的配置不同,因为它们无法在直接命令行调用中使用。相反,它们仅在调用它们绑定的生命周期阶段时应用。或者,如果您将配置部分移到执行部分之外,它将全局应用于插件的所有调用。