You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GroovyConsole执行println无输出求助(Ubuntu 24.04,Groovy 4.0.26)

GroovyConsole 4.0.26 println无输出及非法反射警告排查方向

问题场景

环境:Ubuntu 24.04,GroovyConsole 4.0.26(通过SDKMAN安装)
现象:执行println语句无输出,启动GroovyConsole时弹出非法反射访问警告:

blah@blah-laptop:~/source/groovy_chaps$ groovyConsole
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v9.Java9 (file:/home/blah/.sdkman/candidates/groovy/current/lib/groovy-4.0.26.jar) to method sun.print.RasterPrinterJob.getPrintService()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v9.Java9
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

此前曾偶然成功输出过一次,怀疑警告是问题根源。

排查步骤

  • 验证Java版本兼容性:Groovy 4.0.26支持Java 8-17,Ubuntu 24.04默认Java可能是21+,执行java -version查看版本。若版本过高,用SDKMAN切换到Java 17或11后重新测试:
    sdk list java
    sdk install java 17.0.10-amzn
    sdk use java 17.0.10-amzn
    
  • 临时放宽反射权限:启动GroovyConsole时添加JVM参数绕过反射限制,测试输出是否恢复:
    groovyConsole --illegal-access=permit
    
  • 确认输出面板是否正确:GroovyConsole界面有Output和Error等标签页,确保切换到Output面板查看结果,避免漏看输出。
  • 重置GroovyConsole配置:删除用户目录下的GroovyConsole配置文件夹,清除可能损坏的配置:
    rm -rf ~/.groovy/groovyConsole
    
    重启GroovyConsole后再测试println。
  • 运行极简脚本排查:执行更完整的测试脚本,排除单条println的特殊情况:
    def msg = "Test Output"
    println(msg)
    println("Current time: ${System.currentTimeMillis()}")
    
  • 重新安装Groovy:若以上步骤无效,重新安装Groovy 4.0.26排除文件损坏:
    sdk uninstall groovy 4.0.26
    sdk install groovy 4.0.26
    

内容的提问来源于stack exchange,提问作者schu777

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:52:45