我有一个maven项目,其中我使用了jaxws-maven-plugin,如下所示:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<wsdlDirectory>src/main/wsdl</wsdlDirectory>
<wsdlFiles>
<wsdlFile>MyService.wsdl</wsdlFile>
</wsdlFiles>
<sourceDestDir>src/main/java</sourceDestDir>
<extension>true</extension>
</configuration>
</plugin>这个项目在jdk1.5.0_22和jboss 4.2.2.GA上运行,问题是jaxws-maven-plugin生成的代码与jdk1.5.0_22不再兼容。因此,我在编译时得到以下错误:
cannot find symbol : method getPort(javax.xml.namespace.QName,java.lang.Class<com.example.MyService>,javax.xml.ws.WebServiceFeature[]) location: class javax.xml.ws.Service该项目在任何情况下都必须使用上述配置(jdk1.5.0_22和jboss 4.2.2.GA)运行,因此我无法升级到jdk1.6。
有什么办法可以解决这个问题吗?
提前感谢您的帮助。
发布于 2014-06-18 21:20:35
请参阅here
您缺少:
<!-- Don't forget Java 5!! -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>发布于 2014-06-19 14:27:00
感谢win_wave的评论。事实上,我已经用这种方式设置了maven编译器。
无论如何,我能够自己解决这个问题。事实上,jaxws-maven-plugin的wsimport目标有一个配置参数,称为目标。
我现在已经将我的插件设置如下:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>1.12</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
...
<target>2.0</target>
...
</configuration>
</plugin>通过将目标参数设置为jax 2.0 ,插件将生成与jax-WS2.0兼容的代码,从而与JDK1.5兼容。
https://stackoverflow.com/questions/24283666
复制相似问题