M1 Mac环境下Groovy Shell加载失败及Ansi库兼容问题求助
M1 Mac下Groovy Shell jansi架构兼容问题解决方案
核心原因
加载的libjansi库仅包含x86_64/i386架构,缺少M1所需的arm64架构,导致ANSI功能被禁用。
解决方案1:升级Groovy到适配arm64的版本
旧版Groovy依赖的jansi版本未适配arm64,升级到Groovy 4.0及以上版本即可解决:
- 若使用sdkman管理版本:
sdk install groovy latest - 若使用Homebrew:
brew upgrade groovy
解决方案2:手动替换兼容arm64的jansi库
如果无法升级Groovy,可手动替换jansi依赖:
- 定位Groovy安装目录下的jansi jar包,路径通常为:
$GROOVY_HOME/lib/jansi-<旧版本号>.jar - 下载支持arm64的jansi版本(推荐2.4.0及以上),替换掉旧的jar文件
- 启动Groovy Shell时可手动指定该jar包路径:
groovy -cp /path/to/new/jansi-2.4.0.jar
解决方案3:临时禁用ANSI功能(快速消除警告)
如果不需要终端ANSI颜色渲染,可通过参数禁用jansi:
- 单次启动时添加参数:
groovy -Dgroovy.ansi=false - 永久生效可设置环境变量(添加到
~/.zshrc或~/.bashrc):export GROOVY_OPTS="-Dgroovy.ansi=false"
内容的提问来源于stack exchange,提问作者Arthur Hon
相关产品推荐
相关产品推荐

