11 更新。它现在在运行时发出以下错误: WARNING: An illegal reflective acc-6ren">
gpt4 book ai didi

kotlin - 如何修复 Guice 错误, "An illegal reflective access operation has occurred"

转载 作者:行者123 更新时间:2023-12-04 04:27:37 25 4
gpt4 key购买 nike

我有一个 Kotlin 项目,它使用 Guice for DI,最近从 JDK 8 -> 11 更新。它现在在运行时发出以下错误:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/Users/matt/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.2.2/6dacbe18e5eaa7f6c9c36db33b42e7985e94ce77/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
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

应该如何处理这个警告?

最佳答案

问题在于 Guice 如何在内部访问 Java 对象,这在新的(Java 9+)Java 模块系统下是不安全的。
此外,从 Java 16 开始,此警告变为错误,执行标志 --illegal-access=permit必须手动指定以重现 Java 9-15 的行为。
您无能为力。最好的选择是升级到 Guice 5.0.1,该版本已经过修补以避免非法访问。您的警告将消失,您的应用程序将使用默认的 JVM 行为在 Java 16+ 上运行。

关于kotlin - 如何修复 Guice 错误, "An illegal reflective access operation has occurred",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58165973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com