java - Amazon Coretto 11、Spring Boot 和 PowerMock - 测试失败
问题描述
我有一个基于 java 的 Spring Boot 项目,该项目在必要时使用 PowerMock 模拟静态方法和构造函数调用自从升级到最新版本的 IntelliJ - 我需要使用高于 JDK 8 的 JDK 版本我移动到 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)
这让我难倒了好几天。任何人都可以就我可以尝试的内容提供任何进一步的建议吗
问候达米安
解决方案
我找不到让 PowerMock 与 Java 11 一起使用的解决方案,因此我已将其从我的项目中删除
推荐阅读
- html - 如何在 Haml 中禁用编辑输入
- javascript - 将 blob 转换为 wav 文件
- google-app-engine - 谷歌云CDN,使用apache benchmark的性能测试
- apify - 如何使用 API 为特定的 Task 或 Actor 创建 Apify Webhook
- rapids - 在使用 rapids.ai 时如何确定内存统计数据?
- ruby-on-rails - ActiveRecord 获取具有一组特定相关模型的所有模型(AND 不是 OR)
- html - 将 LaTeX 转换为 HTML
- c++ - 除以 str.length() 没有显示任何内容
- powershell - PowerCLI 有一个隐藏的 vc 别名,我不知道它来自哪里以及是否有更多类似的
- swift - 即使在睡眠期间也能在 macOS 上继续播放声音