JDK7和JAVAC上的wsimport支持JDK6时出错 - 兼容性问题

时间:2016-05-26 08:22:12

标签: java ant jax-ws java-7 java-6

我在我的项目中使用ANT 1.6 /JAX-WS 2.0/Weblogic 11g。我的构建机器位于JDK7,但我们的部署机器(包括weblogic)位于JDK6。现在我在创建war文件时遇到错误。

步骤 - 在build.xml文件中创建war文件之前:

1)我用JDK7调用wsimport作为默认java home JDK7(因为构建机器现在在JDK7)我在那里设置-Xnocompile所以源代码不是使用默认JDK7编译。

2)在执行javac期间,我已经指定了属性[source ="6" target="6" fork="false"|"true"(一次一个fork的组合)],以使构建与JDK6兼容。但是,我在读取wsimport生成的代码时遇到错误。

问题是我到目前为止所理解的 - 我们正在从JDK7进行wsimport并通过将属性设置为JDK6来编译代码。因此JDK7执行期间不支持javac生成的java文件。

我收到类似下面的错误 - 我的ADMIN.java文件中由wsimport命令生成的FYI build.xml文件。

 C:\MyProject\src\com\company\abc\xyz\delivery\ws\ADMIN.java:46: cannot find symbol 
    [javac] symbol  : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[])
    [javac] location: class javax.xml.ws.Service
    [javac]         super(__getWsdlLocation(), ADMIN_QNAME, features);<br>
    [javac]  

1 个答案:

答案 0 :(得分:0)

除了更改构建计算机的Java_home选项并指向JDK6或运行的java版本之外,无论如何都无法修复上述问题。