我想从远程wsdl导入数据。我用maven编写的简单代码如下所示
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-stubs1</id>
<phase>process-classes</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlUrls>
<wsdlUrl>http://www.webservicex.com/globalweather.asmx?wsdl</wsdlUrl>
</wsdlUrls>
<packageName>com.sth.remote</packageName>
</configuration>
</execution>
</executions>
</plugin>
这个脚本的行为很奇怪,它只是第一次工作。之后,例如“clean install”,不再生成来自wsdl的java代码。在调试模式下,我得到了这个输出:
[DEBUG] -- end configuration --
[DEBUG] The wsdl Directory is Q:\workspace\xxx\src\wsdl
[INFO] No WSDLs are found to process, Specify at least one of the following parameters: wsdlFiles, wsdlDirectory or wsdlUrls.
如何解决此问题?
更新
我注意到当删除目标目录然后刷新eclipse项目时,此任务在Eclipse后台工作,以便eclipse编译代码并运行此任务,但不是直接调用mvn jaxws:wsimport
。
更新2:
还有什么,它通过mvn jaxws:wsimport
运行的脚本省略了我的配置,因为如果我更改例如staleFile
<staleFile>Q:\workspace\xxx\target\jaxws\stale2</staleFile>
我在调试中仍然知道staleFile的默认路径正在使用中:
<staleFile default-value="${project.build.directory}/jaxws/stale"/>
...
[DEBUG] (f) staleFile = Q:\workspace\visasin-gwt\target\jaxws\stale
有人知道发生了什么事吗? @dienerd解决方案不适合我
答案 0 :(得分:1)
我删除了你的
<id>generatestubs-1</id>
这完美无缺。我做了一个超级简单的pom w /只是一个maven编译器&amp; java.version 1.8。我不确定你在做什么,但我会把它归还给简单的&amp;添加内容:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlUrls>
<wsdlUrl>http://www.webservicex.com/globalweather.asmx?wsdl</wsdlUrl>
</wsdlUrls>
<packageName>com.sth.remote</packageName>
</configuration>
</execution>
</executions>
</plugin>