我已经配置了我的jaxb2-maven-plugin来从相同位置的不同文件夹中获取WSDL,并将它们解析为不同的包,因为它们提供的功能不同。在运行mvn install时,只处理第一个wsdl而忽略第二个wsdl。在将版本从1.5更改为1.6时,仅处理第二个WSDL并忽略第一个WSDL,这看起来有点奇怪。我希望它们都能正确处理和打包,请建议语法/插件中需要的任何更改。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>xjc-rules</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<schemaDirectory>src/main/resources/wsdl</schemaDirectory>
<schemaFiles>*.wsdl</schemaFiles>
<xmlschema>false</xmlschema>
<wsdl>true</wsdl>
<args>-wsdl</args>
<packageName>com.baplc.ngs.dealing.rules</packageName>
</configuration>
</execution>
<execution>
<id>xjc-infra</id>
<goals>
<goal>xjc</goal>
</goals>
<configuration>
<schemaDirectory>src/main/resources/wsdl/infracloud</schemaDirectory>
<schemaFiles>*.wsdl</schemaFiles>
<xmlschema>false</xmlschema>
<wsdl>true</wsdl>
<args>-wsdl</args>
<packageName>com.baplc.ngs.dealing.informatica.cloud</packageName>
</configuration>
</execution>
</executions>
答案 0 :(得分:1)
您应该在所有configuration
的{{1}}中包含以下行:
execution
(从技术上讲,你只需要在第二次执行中包含它,但我喜欢让配置相似。)
参数<clearOutputDir>false</clearOutputDir>
默认设置为true,将删除outputDirectory的内容(默认为clearOutputDir
)。
当${project.build.directory}/generated-sources/jaxb
设置为true时,将在第一次执行时处理第一个WSDL文件。在第二次执行中,清除输出目录(从而删除首次执行的生成文件)并处理第二个文件。所以你只看到第二个文件中生成的类。
有关详细信息,请参阅documentation。