首页 > 其他分享 >一个bug重温对JRE和JDK的关系思考

一个bug重温对JRE和JDK的关系思考

时间:2023-01-04 23:56:55浏览次数:37  
标签:JRE java JDK jre 编译 版本 bug

前几天做一个springboot项目时,导入的JAVA版本是17,然后后面想更贴近下企业中使用的JDK版本就改成了JDK 1,8,然后就编译错误,bug如下

java: java.lang.UnsupportedClassVersionError: org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

这个bug的意思是告诉我们,我们的工程使用的是高版本的java去编译,但是使用低版本的java去运行它,更具体来说,我们使用了java17去编译完了工程文件,然后使用Java8去run这个工程。

关于这个bug如何修复,建议stackOverFollow,答案无非是统一下jdk版本和jre版本,但是我这个bug是由于引入的springboot版本是3.x版本的,默认使用java17,所以引入springboot项目时,如果项目使用java8那么就要引入2.x版本的springboot(重启解决百分百问题)

关于bug,这里涉及两个概念:编译和运行。这里解释一下,java是混合性语言,也就是Java即是编译型的,也是解释型语言,从编译角度,java任何工程文件都需要先进行编译,但是编译完了并不是直接运行,而是解释在jvm上的,这里的java运行环境,就是jre(java runtime environment),而jdk是java开发工具,里面包含了很多java大牛造的轮子,这样方便更多的程序员工作(感谢大牛赏口饭吃),总得来说jdk包含了jre和一些jar包,同时jre包含了jvm,在实际工作中,我们可以本地编译项目,编译完了部署在服务器中,因此本地需要安装jdk和服务器一般为了节省性能,可以只安装jre。

标签:JRE,java,JDK,jre,编译,版本,bug
From: https://www.cnblogs.com/spark-cc/p/17026341.html

相关文章

  • JDK的卸载和安装
    卸载我的电脑---属性---高级系统设置--环境变量--找到JAVAHOME,这里是放JAVA的地方,JDK直接删除文件夹环境变量删除JAVAHOME键值环境变量里PATH键里面,把JAVA相关......
  • JDK
    卸载JDK删除Java的安装目录删除Java_HOME删除path下关于Java的目录在DOS窗口,输入Java-version安装JDK百度搜索JDK8,找到下载地址同意协议下载电脑对应版本双......
  • Debug with Eclipse
     InthispostwearegoingtoseehowtodevelopapplicationsusingEclipseand​​Portofino4​​​.ThetraditionaldevelopmentofawebapplicationinEcli......
  • Java 复习篇2---jdk
    jdk文件:bin该路径下存放了各种工具命令,其中重要的有javac和Javaconf:改路径下存放了相关配置文件include:该路径下存放了一些平台特定的头文件jmods;该路径下存放......
  • JDK查看、安装、卸载
    JDK查看、安装、卸载一、JDK查看如何查看电脑是否安装JDKcmdjava-version出现jdk版本,则jdk安装成功。二、JDK卸载通过环境变量(JAVA_HOME),找到JDK的安装目录,删......
  • Spark生态之Alluxio学习22--saveAsTextFile alluxio后count (有bug)
    更多代码请见:​​https://github.com/xubo245/SparkLearning​​Spark生态之Alluxio学习版本:alluxio-1.3.0(tachyon),spark-1.5.2,hadoop-2.6.00以下分析是主要是基于spark-1......
  • 【前端调试】- 更好的调试方式 VSCode Debugger
    用VSCode打开项目目录,创建.vscode/launch.json文件或者点击调试窗口:点击添加配置可以生成默认的配置runtimeExecutable:可以指定对应的浏览器,路径是你浏览......
  • JDK的版本有多少种,Java开发者应该选择哪一种?
    JDK的版本有多少种,Java开发者应该选择哪一种?先说结果,一般情况下,我们多数会选择OpenJDK或者AdoptOpenJDK的JDK实现,因为这是最精简最标准的版本,而且没有商业风险。另外,需要结......
  • Intellij IDEA 在DEBUG模式下如何不执行后续代码直接停止程序
    IntellijIDEA在DEBUG模式下如何不执行后续代码直接停止程序第一步:打断点第二步:找出控制台idea可以使用快捷键:两下alt,点击左下角的debug第三步:出现当前页面然后,在......
  • CentOS7源码安装jdk11
    CentOS7源码安装jdk111.下载jdk   官网下载如有旧版本请先卸载openjdk:[root@localhost~]#yumerase`rpm-qa|grepopenjdk`-y2.解压安装[root@localho......