ant xjc任务与jdk 6配合使用

ant xjc任务与jdk 6配合使用,ant,java-7,xjc,build.xml,jdk6,Ant,Java 7,Xjc,Build.xml,Jdk6,我使用xjc ant任务从xsd和wsdl生成java类,然后从这些生成的类生成一个jar。PFB我使用的代码 <!-- Below code generates java classes from wsdl --> <exec executable="xjc"> <arg value="-wsdl" /> <arg value="${wsdl}/mysample.wsdl

我使用xjc ant任务从xsd和wsdl生成java类,然后从这些生成的类生成一个jar。PFB我使用的代码

    <!-- Below code generates java classes from wsdl  -->
    <exec executable="xjc">
                <arg value="-wsdl" />
                <arg value="${wsdl}/mysample.wsdl" />
                <arg value="-d" />
                <arg value="${myclasses}" />
                 <arg value="-d" />
            <arg value="${myclasses}" />
            <arg value="${xsdfile}/mysample.xsd" />
     </exec> 

    <!-- Below code generates jar from java classes  -->
        <jar destfile="${jars}/mysample.jar" basedir="${myclasses}"/>

它在本地使用JDK7可以正常工作,但当我将它部署到拥有jdk6的服务器时,我得到了
org.jboss.resteasy.spi.unhandledeException:java.lang.UnsupportedClassVersionError:com/my/webservices/mysampleweb
。有什么建议如何使这项工作

编辑: 我得到的
主版本51比50新,这是该编译器支持的最高主版本。
从xsd生成的某些类出现错误。如何解决这个问题


我检查了我的ANT_主页、java版本和jre,一切正常。。但当我通过命令行使用ant构建时,仍然会出现上述错误。。任何建议

如果您使用Java版本7构建,并尝试在Java 6上运行它-或者任何比您使用的Java版本更早的版本-您将得到此不受支持的ClassVersionError。编译后的Java字节码与新版本的JVM向前兼容,但不向后兼容。将Java7放在运行时环境中,或者使用JDK6进行编译

二进制兼容性

JavaSE7与JavaSE6是二进制兼容的,下面列出的不兼容除外。除了注意到的不兼容之外,使用JavaSE6编译器构建的类文件将在JavaSE7中正确运行

根据JVM规范,JavaSE7的类文件版本是51,因为JSR292引入了invokedynamic字节码。Java SE 7编译器生成的51版类文件不能在Java SE 6中使用


我得到的主要版本51比50新,这是该编译器支持的最高主要版本。从xsd生成的某些类出错。如何解决此问题??您是否在部署应用程序的服务器上遇到此错误?如果是这样,该机器需要运行Java 7,或者您需要使用Java 6编译应用程序。
-source
选项告诉javac要接受的源文件版本
-target
告诉它生成与指定版本的JVM兼容的字节码,但这只有在您还指定
-bootclasspath
-extdirs
选项指向旧版本的Java引导类时才起作用。我认为OP的问题可能可以通过这种机制解决,但在开发和部署中使用相同的JDK是更好的做法(库兼容性等)。