jaxws-maven-plugin 1.12生成与jdk1.5不兼容的方法

时间:2014-06-18 10:52:05

标签: java maven jboss jboss-4.2.x jdk1.5

我有一个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。

有什么办法可以解决这个问题吗?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

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>

答案 1 :(得分:0)

感谢win_wave的评论。实际上我也已经用这种方式设置了maven编译器。

无论如何,我能够自己解决这个问题。事实上,jaxws-maven-plugin的wsimport目标有一个名为 target 的配置参数。

我现在设置我的插件如下:

<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>

通过将目标参数设置为 2.0 ,插件将生成与jax-ws 2.0兼容的代码,因此也与jdk 1.5兼容。