**赏金4天后到期。回答此问题可获得+200声望奖励。达米恩正在寻找一个可靠来源的答案。
我有一个基于java的spring boot项目,它使用powermock来模拟静态方法和构造函数调用,因为升级到intellij的最新版本后,我需要使用jdk版本大于jdk 8,我迁移到amazon coretto,因为我想在升级和升级时在aws elastic beanstalk上的最新支持jdk上部署我的应用程序做了测试之后,我开始关注这个问题-https://github.com/java-decompiler/jd-gui/issues/187 使用这个powermockignore语法
@PowerMockIgnore("javax.management.", "com.sun.org.apache.xerces.", "javax.xml.", "org.xml.", "org.w3c.dom.", "com.sun.org.apache.xalan.", "javax.activation.*", "javax.xml.transform.*", "com.sun.org.apache.xalan.*")
我得到这个错误
java.lang.RuntimeException: java.lang.reflect.InaccessibleObjectException: Unable to make protected java.lang.Class jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.lang.String,boolean) throws java.lang.ClassNotFoundException accessible: module java.base does not "opens jdk.internal.loader" to unnamed module @d5ce97f
at org.powermock.core.classloader.DeferSupportingClassLoader.findResource(DeferSupportingClassLoader.java:154)
at java.base/java.lang.ClassLoader.findResource(ClassLoader.java:1342)
at java.base/java.lang.Module.getResourceAsStream(Module.java:1575)
at kotlin.reflect.jvm.internal.impl.serialization.deserialization.builtins.BuiltInsResourceLoader.loadResource(BuiltInsResourceLoader.java:27)
at kotlin.reflect.jvm.internal.impl.descriptors.runtime.components.ReflectKotlinClassFinder.findBuiltInsData(ReflectKotlinClassFinder.kt:52)
at kotlin.reflect.jvm.internal.impl.builtins.jvm.JvmBuiltInsPackageFragmentProvider.findPackage(JvmBuiltInsPackageFragmentProvider.kt:60)
这让我难堪了好几天。有人能给我进一步的建议吗
问候达米恩
2条答案
按热度按时间ttcibm8c1#
在gradle中更改版本:
nbewdwxp2#
我找不到让powermock与java11一起工作的解决方案,所以我已经从我的项目中删除了它