amazoncoretto11,spring-boot和powermock-测试失败

6rqinv9w  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(428)

**赏金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)

这让我难堪了好几天。有人能给我进一步的建议吗
问候达米恩

ttcibm8c

ttcibm8c1#

在gradle中更改版本:

testCompile('org.springframework.boot:spring-boot-starter-test') {
        exclude group: "org.mockito", module: "mockito-core"
    }
    testCompile("org.mockito:mockito-core:2.23.4")
nbewdwxp

nbewdwxp2#

我找不到让powermock与java11一起工作的解决方案,所以我已经从我的项目中删除了它

相关问题