Groovy JDK 11禁用警告消息

Groovy JDK 11禁用警告消息,groovy,java-11,Groovy,Java 11,当我在JDK 11上运行Groovy 2.5.3时,它发出警告消息: groovy-e'打印“hi”' 警告:发生了非法的反射访问操作 警告:org.codehaus.groovy.vmplugin.v7.Java7$1(文件:/home/user/.sdkman/candidates/groovy/current/lib/groovy-2.5.3.jar)对构造函数java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int)的非法反射访问

当我在JDK 11上运行Groovy 2.5.3时,它发出警告消息:

groovy-e'打印“hi”'
警告:发生了非法的反射访问操作
警告:org.codehaus.groovy.vmplugin.v7.Java7$1(文件:/home/user/.sdkman/candidates/groovy/current/lib/groovy-2.5.3.jar)对构造函数java.lang.invoke.MethodHandles$Lookup(java.lang.Class,int)的非法反射访问
警告:请考虑向Org.CordHo.Groovy的维护者报告。VMPuLuin。V7.Java7 1美元。
警告:使用--invalize access=warn以启用对进一步非法访问操作的警告
警告:所有非法访问操作将在未来版本中被拒绝

是否有禁用此警告消息的选项?

您可以使用
GROOVY\u关闭\u Java\u警告作为临时修复来禁用Java警告:

$ GROOVY_TURN_OFF_JAVA_WARNINGS=true groovy -e 'print "hi\n"'
hi

这仍然是Groovy 2.5.8中的一个问题


我在macOS上。我选择退回到Java 8(在自制中,使用OpenJDK8安装brew cask),警告消失了。我理解如果您需要更新的JDK(我不需要)

据报道,Groovy的当前稳定版本可以解决此问题,有关详细讨论,请参阅。

似乎这个问题有公开的PR:您可以将
GROOVY\u tun\u OFF\u JAVA\u WARNINGS
环境变量设置为
true
,直到我们修复底层代码。谢谢Paul,现在它给出了另一个警告:包sun.awt.windows不在java.desktop中
我想你是在*nix上?能否尝试从startGroovy shell脚本中删除“-add opens=java.desktop/sun.awt.windows=ALL-UNNAMED”。在MS Windows操作系统上需要它,但当它发现它在cygwin或类似系统上时,我们没有将其设置为有条件的。@phalgun此更新可能会帮助您: