ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

搭建Thrift项目时遇到的UnsupportedClassVersionError问题

2021-06-29 18:34:04  阅读:266  来源: 互联网

标签:model java jetbrains serialization org jps Thrift UnsupportedClassVersionError 


问题一:​Internal error (java.lang.UnsupportedClassVersionError): com/intellij/plugins/thrift/jps/ModelSerializerExtension 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

Internal error (java.lang.UnsupportedClassVersionError): com/intellij/plugins/thrift/jps/ModelSerializerExtension 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
java.lang.UnsupportedClassVersionError: com/intellij/plugins/thrift/jps/ModelSerializerExtension 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:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at com.intellij.util.containers.ContainerUtilRt.copy(ContainerUtilRt.java:113)
at com.intellij.util.containers.ContainerUtil.newArrayList(ContainerUtil.java:205)
at org.jetbrains.jps.service.impl.JpsServiceManagerImpl$SingleClassLoaderPluginManager.loadExtensions(JpsServiceManagerImpl.java:113)
at org.jetbrains.jps.service.impl.JpsServiceManagerImpl.loadExtensions(JpsServiceManagerImpl.java:105)
at org.jetbrains.jps.service.impl.JpsServiceManagerImpl.getExtensions(JpsServiceManagerImpl.java:58)
at org.jetbrains.jps.model.serialization.JpsModelSerializerExtension.getExtensions(JpsModelSerializerExtension.java:47)
at org.jetbrains.jps.model.serialization.library.JpsSdkTableSerializer.getSdkPropertiesSerializer(JpsSdkTableSerializer.java:126)
at org.jetbrains.jps.model.serialization.library.JpsSdkTableSerializer.loadSdk(JpsSdkTableSerializer.java:64)
at org.jetbrains.jps.model.serialization.library.JpsSdkTableSerializer.loadSdks(JpsSdkTableSerializer.java:56)
at org.jetbrains.jps.model.serialization.JpsGlobalLoader$SdkTableSerializer.loadExtension(JpsGlobalLoader.java:124)
at org.jetbrains.jps.model.serialization.JpsGlobalLoader$SdkTableSerializer.loadExtension(JpsGlobalLoader.java:117)
at org.jetbrains.jps.model.serialization.JpsLoaderBase.loadComponents(JpsLoaderBase.java:46)
at org.jetbrains.jps.model.serialization.JpsGlobalLoader.loadGlobalComponents(JpsGlobalLoader.java:80)
at org.jetbrains.jps.model.serialization.JpsGlobalLoader.load(JpsGlobalLoader.java:70)
at org.jetbrains.jps.model.serialization.JpsGlobalLoader.loadGlobalSettings(JpsGlobalLoader.java:43)
at org.jetbrains.jps.model.serialization.impl.JpsSerializationManagerImpl.loadModel(JpsSerializationManagerImpl.java:21)
at org.jetbrains.jps.cmdline.JpsModelLoaderImpl.loadModel(JpsModelLoaderImpl.java:34)
at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:64)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:279)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:132)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:219)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

解决方法:

禁用Thrift Support 1.4.0插件,服务器就能成功运行
在这里插入图片描述
但是我不知道为什么这样就能成功运行的具体原因。这样就造成了一个麻烦事情,写的时候需要用到Thrift Support插件,运行的时候又要将插件禁用。

-----------------------------------------------------------​

根据大佬的建议,导致原因可能是Thrift Support1.4.0和Java8不太兼容,因此解决办法是升级Thrift Support的版本。但是注意Thrift Support的版本是和idea的版本一一匹配的,因此可能会造成无法更新插件的问题。如下
在这里插入图片描述
这种情况就需要先更新idea的版本。

具体更新步骤如下。点击 help-Check for Updates
会一键更新idea的版本和插件版本
在这里插入图片描述
我的idea版本更新后如下,Thrift Support插件也更新到1.8.0.完美解决问题
在这里插入图片描述

标签:model,java,jetbrains,serialization,org,jps,Thrift,UnsupportedClassVersionError,
来源: https://blog.csdn.net/codeLearner_CXW/article/details/118340946

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有