最近遇到这样一个问题,我在电脑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.