在 Corda 3 中,当 运行 runNodes 时获取 Quasar ClassReader 异常

In Corda 3, getting Quasar ClassReader exceptions when running runNodes

当我 运行 runNodes 任务启动 Corda 3 中的节点时,出现以下异常:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by Capsule (file:/D:/Code/LearnBlockChain/cordapp-template-kotlin/build/nodes/PartyB/corda-webserver.jar) to field com.sun.jmx.mbeanserver.JmxMBeanServer.mbsInterceptor
WARNING: Please consider reporting this to the maintainers of Capsule
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
Listening for transport dt_socket at address: 5009
[quasar] ERROR: while transforming jdk/internal/vm/PostVMInitHook: null
java.lang.IllegalArgumentException
       at co.paralleluniverse.asm.ClassReader.<init>(Unknown Source)
       at co.paralleluniverse.asm.ClassReader.<init>(Unknown Source)
       at co.paralleluniverse.fibers.instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:120)
       at co.paralleluniverse.fibers.instrument.QuasarInstrumentor.instrumentClass(QuasarInstrumentor.java:94)
       at co.paralleluniverse.fibers.instrument.JavaAgent$Transformer.transform(JavaAgent.java:209)
       at java.instrument/java.lang.instrument.ClassFileTransformer.transform(Unknown Source)
       at java.instrument/sun.instrument.TransformerManager.transform(Unknown Source)
       at java.instrument/sun.instrument.InstrumentationImpl.transform(Unknown Source)
[quasar] ERROR: while transforming jdk/internal/math/FloatingDecimal: null
java.lang.IllegalArgumentException

我该如何解决这个问题?

如果您使用错误版本的 Oracle JDK,您将看到此问题。 Corda 需要 Oracle JDK 8 JVM,支持的最低版本为 8u131。