我的JDK 9 + 181春季启动2.0.0.BUILD-快照CLI应用程序在启动时显示这样的警告:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.cglib.core.ReflectUtils$1 (jar:file:/home/jan/src/fm-cli/target/fm-cli-0.1.0-SNAPSHOT.jar!/BOOT-INF/lib/spring-core-5.0.0.RELEASE.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 org.springframework.cglib.core.ReflectUtils$1
这是一个控制台应用程序,所以我需要禁用此警告 - 我该怎么办呢?
注意:这个问题问的如何禁用此警告由Spring引发的具体问题; 它不是重复JDK9:发生非法反射访问操作。org.python.core.PySystemState哪些交易在不同库中的类似症状。
在JDK 9+,下面的选项添加到JVM禁止从Spring的使用CGLIB的警告:
--add-opens java.base/java.lang=ALL-UNNAMED
例如:
java --add-opens java.base/java.lang=ALL-UNNAMED -jar target/*.jar
无需汇报; 这是一个已知的弹簧缺陷。
这是因为新的JDK 9模块系统检测到非法的访问,将在(近)未来的某个时候被禁止。你可以阅读更多有关的JDK 9模块系统在这里。
更新:
针对此问题的解决方法是可用的JDK 9+与Spring 5.1+。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句