virgil
virgil copied to clipboard
Unsupported class file major version 59
Hi - I get the following error using both java 15 and java 8:
recompiling all files in ["/home/alan/expr/demo/src/java"]
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by virgil.compile$get_java_compiler to constructor com.sun.tools.javac.api.JavacTool()
WARNING: Please consider reporting this to the maintainers of virgil.compile$get_java_compiler
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
recompiling all files in ["/home/alan/expr/demo/src/java"]
Unsupported class file major version 59
Syntax error (IllegalArgumentException) compiling at (/tmp/form-init16056319481210472696.clj:1:74).
Unsupported class file major version 59
Full report at:
/tmp/clojure-5914386959178799319.edn
Tests failed.
( lein do clean, test; ) 14.22s user 0.61s system 254% cpu 5.831 total
~/expr/demo > cat /tmp/clojure-5914386959178799319.edn
{:clojure.main/message
"Syntax error (IllegalArgumentException) compiling at (/tmp/form-init16056319481210472696.clj:1:74).\nUnsupported class file major version 59\n",
:clojure.main/triage
{:clojure.error/phase :compile-syntax-check,
:clojure.error/line 1,
:clojure.error/column 74,
:clojure.error/source "form-init16056319481210472696.clj",
:clojure.error/path "/tmp/form-init16056319481210472696.clj",
:clojure.error/class java.lang.IllegalArgumentException,
:clojure.error/cause "Unsupported class file major version 59"},
:clojure.main/trace
{:via
[{:type clojure.lang.Compiler$CompilerException,
:message
"Syntax error compiling at (/tmp/form-init16056319481210472696.clj:1:74).",
:data
{:clojure.error/phase :compile-syntax-check,
:clojure.error/line 1,
:clojure.error/column 74,
:clojure.error/source "/tmp/form-init16056319481210472696.clj"},
:at [clojure.lang.Compiler load "Compiler.java" 7652]}
{:type java.lang.IllegalArgumentException,
:message "Unsupported class file major version 59",
:at
[org.objectweb.asm.ClassReader <init> "ClassReader.java" 184]}],
:trace
[[org.objectweb.asm.ClassReader <init> "ClassReader.java" 184]
[org.objectweb.asm.ClassReader <init> "ClassReader.java" 166]
[org.objectweb.asm.ClassReader <init> "ClassReader.java" 152]
[virgil.decompile$parents invokeStatic "decompile.clj" 12]
[virgil.decompile$parents invoke "decompile.clj" 12]
[virgil.decompile$rank_order$parents__825 invoke "decompile.clj" 24]
[clojure.core$map$fn__5884 invoke "core.clj" 2759]
[clojure.lang.LazySeq sval "LazySeq.java" 42]
[clojure.lang.LazySeq seq "LazySeq.java" 51]
[clojure.lang.RT seq "RT.java" 535]
[clojure.core$seq__5419 invokeStatic "core.clj" 139]
[clojure.core$zipmap invokeStatic "core.clj" 6570]
[clojure.core$zipmap invoke "core.clj" 6570]
[virgil.decompile$rank_order invokeStatic "decompile.clj" 25]
[virgil.decompile$rank_order invoke "decompile.clj" 18]
[virgil.compile$compile_java invokeStatic "compile.clj" 124]
[virgil.compile$compile_java invoke "compile.clj" 119]
[virgil.compile$compile_all_java invokeStatic "compile.clj" 161]
[virgil.compile$compile_all_java invoke "compile.clj" 149]
[virgil$watch$recompile__951 invoke "virgil.clj" 44]
[virgil$watch invokeStatic "virgil.clj" 61]
[virgil$watch doInvoke "virgil.clj" 41]
[clojure.lang.RestFn invoke "RestFn.java" 408]
[user$eval964 invokeStatic "form-init16056319481210472696.clj" 1]
[user$eval964 invoke "form-init16056319481210472696.clj" 1]
[clojure.lang.Compiler eval "Compiler.java" 7181]
[clojure.lang.Compiler eval "Compiler.java" 7170]
[clojure.lang.Compiler load "Compiler.java" 7640]
[clojure.lang.Compiler loadFile "Compiler.java" 7578]
[clojure.main$load_script invokeStatic "main.clj" 475]
[clojure.main$init_opt invokeStatic "main.clj" 477]
[clojure.main$init_opt invoke "main.clj" 477]
[clojure.main$initialize invokeStatic "main.clj" 508]
[clojure.main$null_opt invokeStatic "main.clj" 542]
[clojure.main$null_opt invoke "main.clj" 539]
[clojure.main$main invokeStatic "main.clj" 664]
[clojure.main$main doInvoke "main.clj" 616]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.main main "main.java" 40]],
:cause "Unsupported class file major version 59",
:phase :compile-syntax-check}}
A solution is to make your project depend on a newer version of org.ow2.asm/asm
- at the time of writing, it's 9.3.
Should be finally fixed in 0.3.0
.