我对模块化 Java 的兴趣已经几个月了,包括 Spring 和相关的生态系统内容。最令人沮丧的经历之一是调试名称不明确的模块问题
这是我遇到的最后一个此类错误:
java.lang.IllegalAccessError: superclass access check failed: class com.oracle.truffle.polyglot.PolyglotImpl (in unnamed module @0x58a90037) cannot access class org.graalvm.polyglot.impl.AbstractPolyglotImpl (in module org.graalvm.sdk) because module org.graalvm.sdk does not export org.graalvm.polyglot.impl to unnamed module @0x58a90037
@0x58a90037问题就在这里。
根据我要做的事情,我会随机尝试spring.beans,spring.context等等javax.validation......并向世界开放我的模块,这在某种程度上消除了首先封装它们的价值。
对于这个具体案例,我尝试过虽然进展并不顺利,但还是requires org.graalvm.sdk;requires org.graalvm.js;做到了。
通过随机尝试进行调试似乎并不是解决这些问题的明智方法。所以我想知道你们是怎么做到的。
谢谢你!