Ubuntu命令行安装IDEA报错,java.lang.UnsupportedClassVersionError:has been compiled by a more recent version

 1、问题:

        (Ubuntu16,jdk1.8,IDEA2021.3)

zx@zx-virtual-machine:~/IDEA/bin$ ./idea.sh 
Error occurred during initialization of VM
java.lang.UnsupportedClassVersionError: com/intellij/util/lang/PathClassLoader has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2205)
	at java.lang.SystemClassLoaderAction.run(ClassLoader.java:2191)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1453)
	at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1433)

2.说明:

        我们要装得IDEA中的PathClassLoader文件集成中,包含了较新版本的JRE,而我们环境中的已经配置好的jre版本太低。不能匹配兼容。

3.尝试:

        本人使用了jenv版本控制工具,并且已经安装配置好了多个版本的jdk(jdk-8,jdk-11,jdk-12等),使用jenv来切换使用不同的jdk。

经过尝试,jdk-8使用时,无法启动IDEA,报出错,代码如上。

但是切换到jdk-11、jdk-12,都能顺利启动IDEA,也进一步验证了版本兼容的问题。

4.解决方法:

        切换使用jdk版本请慎重,有时候由于版本的问题,可能会出现未知的错误,而且由于java8和java8之后的版本出现了比较大的调整,有很多时候新版本,无法向下兼容老版本。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java.lang.UnsupportedClassVersionError: burp/startburp has been compiled by a newer version of the Java Runtime Environment and cannot be executed by the current version. 这个错误是由于运环境不支持当前程序编译的版本引起的。当我们尝试运一个使用新版Java环境编译的程序时,如果当前的Java环境版本较低,就会报这个错误。 要解决这个问题,我们需要升级安装最新的Java时环境(JRE)或Java开发工具包(JDK)。可以到Oracle官方网站下载并安装最新版本的Java安装完成后,需要确保系统的环境变量配置正确,以便让操作系统能够找到新安装Java环境。 在Windows系统中,可以通过以下步骤进环境变量的配置: 1. 右键点击“计算机”或“此电脑”,选择“属性”。 2. 点击“高级系统设置”。 3. 在“高级”选项卡下,点击“环境变量”。 4. 在“系统变量”部分,点击“新建”来添加新的变量。 5. 输入“变量名”为“JAVA_HOME”,“变量值”为Java安装目录的路径(例如:C:\Program Files\Java\jdk1.8.0_301)。 6. 找到“Path”变量,并点击“编辑”。 7. 在路径列表的开头添加“%JAVA_HOME%\bin;”(不含引号),注意用分号进分隔。 8. 点击“确定”保存配置。 完成这些步骤后,重新运程序就不会再出现"java.lang.UnsupportedClassVersionError: burp/startburp has been compiled by a newer version of the Java Runtime Environment and cannot be executed by the current version."的错误了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值