at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

RabbitMq安装 本文详细介绍了在CentOS7系统上离线部署RabbitMQ4.3.2的完整流程。主要内容包括:1)准备RabbitMQ安装包、Erlang依赖和socat网络工具;2)安装系统编译依赖并编译安装Erlang;3)部署RabbitMQ服务,配置环境变量和socat依赖;4)启用Web管理插件并创建管理员账号;5)配置防火墙放行端口;6)设置Systemd开机自启服务;7)提供常用运维命令。文档特别强调离线部署注意事项,包括socat依赖、版本兼容性、账号安全及主机名配置等问题,为生产环境部署提供完整解决方案 阅读详情

低版本jdk无法执行高版本jdk编译出的class文件

eclipse编译的java应用代码,放到Linux上执行,错误提示如下:

 


 
  1. # java WriteLog

  2. Exception in thread "main" java.lang.UnsupportedClassVersionError: WriteLog : Unsupported major.minor version 52.0

  3. at java.lang.ClassLoader.defineClass1(Native Method)

  4. at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

  5. at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

  6. at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

  7. at java.net.URLClassLoader.access$100(URLClassLoader.java:71)

  8. at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

  9. at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

  10. at java.security.AccessController.doPrivileged(Native Method)

  11. at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

  12. at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

  13. at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

  14. at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

  15. at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

  16.  


错误提示信息:Unsupported major.minor version 52.0,意思是说,当前jdk的版本不支持更高版本jdk编译出来的class文件。
我的编译环境,eclipse使用的是jdk1.8,而Linux上的是jdk1.7,jdk1.7.0版本号为48,jdk1.8.0版本号是52,因此会产生上述问题。只需要把Linux上的jdk升级到jdk1.8,就可以执行。

 

在《深入理解java虚拟机》,类文件结构章节中提到

紧接魔数的4个字节存储的是class文件的版本号:第5和第6字节是次版本号(Minor Version),第7和第8字节是主版本号(Major Version)。java的版本是从45开始的,JDK1.1之后的每个JDK大版本发布主板本号向上加1(JDK1.0~1.1使用了45.0~45.3的版本号),高版本的JDK能向下兼容以前版本的class文件,但不能运行以后版本的class文件,即使文件格式未发生任何变化,虚拟机也必须拒绝执行超过其版本号的class文件。

手把手教你用Copilot插件在Obsidian里免费接入DeepSeek-R1(附硅基流动API密钥获取) 本文详细介绍了如何通过Copilot插件在Obsidian中免费接入DeepSeek-R1模型,实现智能知识管理。从硅基流动API密钥获取到插件配置,再到高级功能调优和实战应用技巧,手把手教你打造AI驱动的个人知识库。 阅读详情

相关推荐

Creo报许可证错误License request failed for feature的解决方案

有些朋友用了一段时间打开creo软件,出现icense request failed for feature”错误,这个是Creo许可证出现了问题,一般是许可证文件无效或是已过期,导致Creo软件通信出现故障,就会出现Creo License request failed for feature, Requsesting CreoPMA_SSQ ,Run ptcstatus.bat server status。第三步:键盘按win+R,在运行窗口里输入:cmd,然后点确定。第八步:点击系统,找到系统信息。

Q82556499的博客 3万+

低版本jdk无法执行高版本jdk编译出的class文件

eclipse编译的java应用代码,放到Linux上执行,错误提示如下: # java WriteLog Exception in thread "main" java.lang.UnsupportedClassVersionError: WriteLog : Unsupported major.minor version 52.0 at java.lang.ClassLoad

sum__mer的专栏 9581

10分钟训练你的AI歌手:RVC WebUI声音克隆保姆级教程

本文提供了一份详细的RVC WebUI声音克隆保姆级教程,指导用户如何在10分钟内利用Retrieval-based-Voice-Conversion技术训练专属AI歌手。教程涵盖从环境配置、数据准备、模型训练到最终推理应用的全流程,即使是新手也能快速上手,实现高质量的声音克隆与歌曲生成。

weixin_29073241的博客 818

Java高版本编译低版本运行_Eclipse使用高版本的jdk编译低版本的class文件的方法...

如题,在这两天使用eclipse工具编译代码时,编译出来的class文件拿UE工具查看,版本为1.8版本的,而本地使用的tomcat版本是1.6的,运行中报错Unsupported major.minor version 52.0JDK版本和Java编译器内部的版本号J2SE 8 = 52,J2SE 7 = 51,J2SE 6.0 = 50,J2SE 5.0 = 49,JDK 1.4 = 48,J...

weixin_33454551的博客 2095

Sigrity XtractIM实战:5步搞定IC封装宽带模型提取(附BGA案例)

本文通过一个典型BGA封装案例,详细介绍了使用Cadence Sigrity XtractIM工具进行IC封装宽带模型提取的五步实战流程。内容涵盖从环境准备、参数设置、结果验证到模型导出的完整操作,重点阐述了如何利用XtractIM生成高精度、紧凑的宽带SPICE模型,以解决高速电路设计中因封装模型不准导致的信号与电源完整性问题,助力工程师提升仿真精度与设计效率。

a1b2c的博客 319

k8s 查看cpu使用率最高的pod

在 Kubernetes 中,可以使用命令查看 Pod 的资源使用情况,从而找到 CPU 使用率最高的 Pod。

u010674101的专栏 3344

使用高版本JDK编译低版本代码

如何解决Sonar要求的JDK版本高于代码JDK版本问题。

FoolRabbit的专栏 1511

使用RepeatModeler和RepeatMasker注释基因组重复序列

重复序列注释有两种常用策略,基于同源序列相似性和基于重复序列结构特征。RepeatMasker是基于同源序列相似性注释序列的常用工具, RepeatModeler可用来从头对基因组的重复序列家族进行建模注释,它的核心组件是RECON和RepatScout。 这篇教程介绍如何使用RepeatModeler从头鉴定基因组的重复序列,之后用RepeatMasker根据自...

xuzhougeng blog 8849

环境安装的是jdk1.8,但是编译是1.7

自己单间jenkins 的过程中 发现自己svn 上的项目报错启动时提示:Error:(422, 132) java: -source 1.7 中不支持 lambda 表达式。 Java -version 查看了自己的版本之后 ,确认是1.8。 pom 里面也全是1.8. 最后排查 maven 的setting.xml 中有java 的编译版本, 改成改了之后就可以正常编译了 ...

qq_39104442的博客 2417

机器人手眼标定快速精度验证方法

机器人手眼标定快速精度验证方法

laoli_的博客 1万+

零倾覆力矩点(ZMP)

从形式上讲,ZMP 指的是空间中相对于一个平面(通常是地平面)抵消接触力矩的点的集合。这个集合实际上是一个轴,而不是一个点,但为了方便起见,让我们按照传统的推导方法来计算地面平面上的 ZMP。这一推导从任何多刚体系统的牛顿-欧拉运动方程开始:其中,为机器人的总质量,为重力矢量,为系统的重心,为加速度,为固定点的角动量变化率。在右侧,表示净接触扭矩,即施加到机器人上的所有接触扭矩之和,坐标取自质心 (COM)。

机器人控制与仿真应用 2368

低版本jdk运行高版本编译jar包失败(class file version 61.0), this version of the Java Runtime class file 52.0

省流:使用jdk1.8执行17编译的包,启动报错问题解决:

weixin_42668169的博客 2万+

EtherCAT主站SOEM -- 24 -- 基于STM32F767IGT6搭建自己的SOEM-EtherCAT主站

以上就是EtherCAT主站SOEM – 23 – 基于STM32F767IGT6搭建自己的SOEM-EtherCAT主站的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 3550

低版本的jdk执行高版本jdk编译后的class文件失败

异常信息: 原因: 高版本的JDK能向下兼容以前版本的class文件,但不能运行以后版本的class文件,即使文件格式未发生任何变化,虚拟机也必须拒绝执行超过其版本号的class文件。 除源文件以外,可能依赖的jar包文件,也需要了解是哪个版本的jdk编译后的。 解决方案: 用相同版本的jdk编译,用同种版本的jdk运行编译后的代码;或者用低版本的jdk编译,然后用高版本的jdk运行...

世界这么大 3135

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java编译中出现了Exception in thread “main" java.lang.UnsupportedClassVersionError

这个问题确实是由较高版本的JDK编译的java class文件试图在较低版本的JVM上运行产生的错误。     1、解决措施就是保证jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,则在命令行中分别输入java -version和javac -version命令来查看版本是否一致。这里假设都是1.7版本。     2、如果都一致,但还是解决不了问题,那么你

chen110juan的专栏 2万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

关于jdk低版本升级高版本的问题

项目由于要从1.6升级到1.8,中间遇到的一些问题 以下是解决步骤: 环境 :spring 4+,maven 3.5+,idea 步骤: pom.xml: <build> <plugins> <plugin>

xinaml的博客 8648

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

还不知道Java的jre运行环境版本低该如何运行高版本代码吗?

首先我们要知道Java常见的几个版本,目前为止大致从1.5到1.8还有JAVA9(1.9新特性) 今天我的代码在ecplise上做完之后发现在别人电脑上无法运行,而且所有代码爆红线,那么出现这个问题就一定是JAVA版本不一致了,而且大致是因为自己的版本低于代码运行的版本了。 这里所看到的就是代码的版本,然后我们接下来看我们ecplise的版本 打开窗口点开首选项或者perferences会出现这...

jiohfgj的博客 2491

Linux服务器中指定版本jdk运行java项目

工作服务器可能有多个jdk版本,或者说之前有些项目在特定jdk版本运行,不好删除,有时候就要指定版本jdk运行项目时候应用。

weixin_62015493的博客 3124

IDEA 高版本jdk12 如何以低版本jdk编译java项目,并部署到tomcat

当我们用的是高版本的 jdk12,要将项目部署到类似 tomcat9 这种要求 jdk 为 1.8 的web服务器,就应该将项目以低版本 jdk1.8 的等级来编译 (此外,还有一种场景,如果我们下载到项目的一些 包 不支持 jdk1.8 以上的一些新的特性,即这些包中的一些方法仅支持jdk1.8的语法,那么我们是需要以 jdk1.8 的等级编译项目的,否则会出错) 打开idea,在左上角找到 file – project structure,打开后观察到如下界面: 将 project langu

HS_huaishi的博客 2623

低版本jdk环境安装高版本Eclipse的问题(报错Version 1.6.0 of the JVM is not suitable for the this product.Version:1.8)

首先需要说,这个情况还是比较少见的。 运行公司的一个项目,环境是jdk1.6和tomcat6.0,但是Eclipse使用的版本是Oxygen版本。因为Eclipse运行需要jre,而且Oxygen版本支持jdk1.8及以上的版本。所以直接安装jdk1.6并配置环境的话,在启动Eclipse时会报:Version 1.6.0 of the JVM is not suitable for the t...

松鼠病重度患者 2591

同一个服务器跑多个不同版本JDK的项目

以前不知道同一台服务器上能同时跑不同JDK版本的项目,想着JAVA_HOME这个环境变量只能设置一个,那么执行java -jar 命令跑项目时只能对应到JAVA_HOME的这个JDK版本。 今天有了这个需求。首先想到的是修改 jekins的部署脚本(我们项目是利用jekins部署的),加了个export JAVA_HOME=XXX: 结果如上图错误,发现是JAVA_HOME后面的 = 号出...

wowwilliam0的博客 4861

Java class文件查看对应的JDK版本

问题: 在Java应用项目中,有时会发现编译好的类或包拿到项目现场环境部署时会报错,大概意思就是用高版本JDK编译出来的包,在低版本的JDK中不能运行。于是只好重新编译为兼容低版本JDK的class,但怎样确认编译出的class(比如JDK1.8编译)是不是指定的版本(运行环境JDK1.7)呢? 解决: 通常有2个办法,一是使用ultraedit等工具查看class文件16进制编码,前面8个字节CA FE BA BE是固定的,之后4个字节00 00 是次版本号,次版本号后面的4个字节00 33 是..

hongweigg的专栏 6093

如何确保使用jdk8编译后的class能够在jdk7上运行?

1、可能大家首先想到的就是在pom里加上如下配置就可以了 <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target>

雾里华的博客 1457

at java.net.urlclassloader.findclass_运行.class出现下面代码

Error: A JNI error has occurred, please check your installation and try againException in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld has been compiled by a more recent version of...

weixin_32349699的博客 1624

Eclipse切换djk版本过略,巨细无比

一看就会,一动就废的同学看这里

LiXiangshaui的博客 1177
上一篇: linux安装完jdk1.8却变成1.7 解决
下一篇: Java_jvisualvm使用JMX连接远程机器
冷血java
博客等级 码龄12年 5粉丝 1原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值