java 不支持的类文件主版本61

brccelvz  于 2023-01-19  发布在  Java
关注(0)|答案(3)|浏览(2132)

我正在尝试将Glowroot集成到我的Java应用程序中。不幸的是,我得到了以下错误:

2022-05-13 09:25:57.777 ERROR o.g.a.w.PointcutClassFileTransformer - Unsupported class file major version 61
java.lang.IllegalArgumentException: Unsupported class file major version 61
    at org.glowroot.agent.shaded.org.objectweb.asm.ClassReader.<init>(ClassReader.java:196)

Glowroot和我的应用程序似乎都没有使用Gradle,所以我不知道这种不兼容性是从哪里来的。
你知道我怎样才能找到不兼容的根源,然后我怎样才能修复它吗?
谢谢大家!
编辑:我在0.13.6版本中使用Glowroot。
第二次编辑:看起来glowroot的版本才是问题所在...

qhhrdooz

qhhrdooz1#

(我错误地关注了“Unsupported class file major version 61”消息,而没有查看堆栈跟踪。)
问题(正如@Mark Rotteveel所指出的)是glowroot在尝试使用ASM进行一些代码转换时失败。显然,捆绑在glowroot 0.13.6中的ASM版本中的ClassReader不理解版本61(Java 17)类文件。
Q:如何解决这个问题?
A:使用glowroot 0.14.0-β 2或更高版本;另一种方法是,为早期(目标)版本的Java构建应用程序及其依赖项(根据需要),并(可能1)在早期版本的Java上运行。
1 -这取决于代码转换是否涉及ASM ClassReader阅读Java SE类。

oxalkeyp

oxalkeyp2#

错误“unsupported class file major version 61”仅仅意味着Java 17不支持某些库。
这个错误上面的堆栈跟踪会告诉你是哪个依赖项。你需要把那个依赖项升级到Java17兼容的依赖项。

carvr3hs

carvr3hs3#

∮也和雅各布一起∮
当升级到java 17并且拥有Jacoco 0.8.5时也会发生这个错误。它可能会抱怨一些无法理解的类文件。
只需将Jacoco升级到0.8.8或更高版本,您就可以开始了。

相关问题