我使用mvn compile
并且我有一个使用 jaxws-maven-plugin 的pom来创建客户端类,它做得很好。我在target>generated-sources>wsimport>
路径中获取了所有课程。但是这些类没有被添加到我的类路径中。所以我的项目没有编译。
插件
<build>
<plugins>
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlDirectory>${basedir}/src/main/resources/wsdl</wsdlDirectory>
<packageName>org.tempuri</packageName>
<vmArgs>
<vmArg>-Djavax.xml.accessExternalSchema=all</vmArg>
</vmArgs>
<!-- needs extension true otherwise wont generate trade web service stub. Still shows error SOAP binding 1.2 -->
<extension>true</extension>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
答案 0 :(得分:1)
问题是插件jaxws-maven-plugin的版本。出于某种原因,我使用的是版本2.3.1-b20150201.124
8。当我改为2.3
时,它工作正常。
旧版本生成了代理类,但它没有添加到Eclipse中的classpath。没有错误,但当我尝试从WSDL生成代理类时,我在Netbeans中打开项目时出现了错误
org.eclipse.aether.impl.ArtifactDescriptorReader没有实现 被约束了。
所以我更改了插件的版本,就像这个答案说的那样:
https://stackoverflow.com/a/25277703/1754020
它工作正常。