如何使用高版本的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编译代码在低版本上运行
  • sql2008R2怎么生成bak备份文件
  • notepad++双视图功能,notepad新建视图方法
  • java如何用for循环获取数组中的值
  • write() argument must be str, not bytes
  • 怎么自己拼接一个json格式
  • 热门搜索
    三年级手抄报图片 国防手抄报简单又字少 我阅读我快乐手抄报 关于月球的手抄报 一二年级普通话手抄报 获奖手抄报 与清明节有关的手抄报 教师手抄报 关于卫生的手抄报 科普小知识手抄报