手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何使用高版本的jdk编译代码在低版本上运行

时间:2024-11-12 09:00:32

1、一般来说,如果使用高版本jdk编译之后的class文件,编译的时候没有带source和targe参数,再把class文件放到低版本环境下运行,会出现如图所示的错误:java.lang.UnsupportedClassVersionError: Test : Unsupported major.minor version

如何使用高版本的jdk编译代码在低版本上运行

2、下面来说下解决方法,首先写一个测试的java文件,如图所示,写一个最简单的例子,然后打印一段话

如何使用高版本的jdk编译代码在低版本上运行

3、为了演示效果,我这里使用jdk1.8和1.7来做对比演示。先在jdk1.8下编译刚刚新建的Test.java文件

如何使用高版本的jdk编译代码在低版本上运行

4、只是为了演示,我们使用命令行的方式来编译,javac 颍骈城茇-bootclasspath E:\rt1.7.jar -source 1.7 -target 1.7 Test.java,注意这里添瑕铆幌约加的三个,source是源码版本,targe是目标版本,bootclasspath一定要加上,否则虽然能编译通过但运行会存在问题,注意后面是引导jar文件,需要使用后面版本号对应的引导文件

如何使用高版本的jdk编译代码在低版本上运行

5、然后复制class文件到jdk1.7下面,由于是同一台电脑同时存在两个版本,为了简单操作,直接将class复制到bin目录下面了

如何使用高版本的jdk编译代码在低版本上运行

6、输入命令java Test运行测试下,如图所示,通过这样的方式已经可以成功的运行了

如何使用高版本的jdk编译代码在低版本上运行

7、在项目中一般使用maven或者gradle构件项目,那么source和targe是在编译插件里控制的

如何使用高版本的jdk编译代码在低版本上运行
© 手抄报圈