问题
我尝试在GraalVM中使用{{clojure.stracktrace/print-stack-trace}},但不起作用,因为需要反射来查找{{getMessage}}方法。
建议的解决方案
可以通过添加类型提示解决这个问题。
概述了警告
(set! warn-on-reflection true)
:
反射警告,/tmp/stacktrace.clj:24:18 - 无法解析字段getCause。反射警告,/tmp/stacktrace.clj:32:15 - 无法解析字段getClassName。反射警告,/tmp/stacktrace.clj:33:9 - 无法解析字段getMethodName。反射警告,/tmp/stacktrace.clj:38:26 - 无法解析字段getFileName。反射警告,/tmp/stacktrace.clj:38:47 - 无法解析字段getLineNumber。反射警告,/tmp/stacktrace.clj:45:42 - 无法解析字段getMessage。反射警告,/tmp/stacktrace.clj:24:18 - 无法解析字段getCause。
补丁 CLJ-2502-2.patch移除了不需要的空格更改,并将{{root-cause}}的类型提示提到了更靠前的位置。
审核者:Alex Miller