最近遇到这样一个问题,我在电脑A上开发的java程序,用Ant打包成jar文件后,放到电脑B上无法运行,提示:UnsupportedClassVersionError错误。
原来电脑A的jdk是1.8版本的,电脑B是jdk1.6的,所以无法兼容。其实解决这个问题也不难,添加相应的配置参数就可以了。

例如,原先的build.xml文件是这样写的:

<javac srcdir="${srcDir}" destdir="${binDir}" />



只需要添加两个参数,改成这样:


<javac target="1.6" source="1.6" srcdir="${srcDir}" destdir="${binDir}" />

修改之后,清空整个工程,然后重新编译,就可以了。

注:

1.其实真正起作用的是target参数,如果只设置target参数,在编译时会有如下警告:


所以建议同时添加source参数。

[javac]           WARNING 

 [javac] 

 [javac] The -source switch defaults to 1.8 in JDK 1.8. 

 [javac] If you specify -target 1.6 you now must also specify -source 1.6. 

 [javac] Ant will implicitly add -source 1.6 for you.  Please change your build file.