启动Gremlin Console报错:Unsupported class file major version 62
执行bin/gremlin.sh启动Gremlin Console时出现如下错误:
Exception in thread "main" BUG! exception in phase 'semantic analysis' in source unit 'Script1.groovy' Unsupported class file major version 62
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:969)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:642)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:591)
................ (removed for simplicity)
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 62
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:196)
................ (removed for simplicity)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:965)
... 47 more
问题原因
这个错误是Java版本不兼容导致的:Class file major version 62对应Java 18,而你当前使用的Gremlin Console版本依赖的Groovy或ASM库不支持这么高的Java版本。
解决办法
- 降级Java版本:安装并切换到Gremlin Console兼容的Java版本(多数Gremlin稳定版推荐Java 8或Java 11,具体可参考对应版本的官方说明)
- 匹配版本兼容性:确认你安装的Gremlin Console版本与Java版本的适配关系——新版Gremlin可能支持更高Java版本,旧版仅兼容低版本Java
- 指定Gremlin使用的Java:若系统存在多个Java版本,可修改
bin/gremlin.sh脚本,在开头添加JAVA_HOME指定兼容的Java路径,示例:export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
内容的提问来源于stack exchange,提问作者Oluwxtope

