使用org.jvnet.jaxb2.maven2为WSDL生成JAXB组件:maven-jaxb2-plugin

时间:2015-10-20 18:38:54

标签: spring-ws maven-jaxb2-plugin

我试图按照http://spring.io/guides/gs/consuming-web-service给出的示例,使用我自己的WSDL。但是,我无法看到生成任何JAXB类。没有错误或有用的调试信息。

上面的示例有哪些限制或WSDL结构不起作用?

如果您需要任何进一步的信息,请与我们联系。

谢谢

1 个答案:

答案 0 :(得分:0)

检查你的pom,应该有这样的东西:

    <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.8.1</version> <!-- I used version 0.8.1 since 0.8.2 is bugged and it throws the Exception 
                "Illegal pattern character 'g' "when using italian locale -->
            <executions>
                <execution>
                    <id>wsdl-generation</id>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                    <configuration>
                        <schemaDirectory>src/main/resources/wsdl</schemaDirectory>
                        <schemaIncludes>
                            <include>*.xsd</include>
                        </schemaIncludes>
                        <extension>true</extension>
                        <!-- Specify binding directory where we put customization for the 
                            generated classes -->
                        <bindingDirectory>src/main/resources/binding</bindingDirectory>
                        <bindingIncludes>
                            <include>*.xjb</include>
                        </bindingIncludes>
                    </configuration>
                </execution>
            </executions>
        </plugin>

与您的wsdl位置/绑定(如果有)/ etc匹配略有差异 类是在target下生成的,因此请确保将它们添加到类路径中(只需在运行生成源之后,执行maven - &gt;更新项目,如果我没记错的话应该处理它)。 您可能想要右键单击 - &gt;以 - &gt;运行如果maven似乎无法正常工作,maven会生成源。