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

JRuby新手使用Warbler编译Jar报错:NoMethodError: undefined method `exists?' for File:Class

解决Warbler运行报错:undefined method `exists?' for File:Class

问题原因

你使用的Warbler 2.0.5版本过于老旧,它调用的File.exists?方法在Ruby 3.2中已被移除——Ruby 3.0及以后版本统一使用File.exist?(注意少一个s),这就是触发报错的核心原因。

解决方案

  • 升级Warbler到兼容版本
    直接安装支持Ruby 3.x的Warbler版本,执行以下命令:

    gem install warbler --version ">= 2.1.0"
    

    Warbler 2.1.0及后续版本已修复该API兼容问题,升级后即可正常运行各类Warbler命令。

  • 临时修复旧版Warbler(不推荐)
    如果暂时无法升级,找到报错文件:C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/warbler-2.0.5/lib/warbler/task.rb,打开后定位到第45行,将File.exists?替换为File.exist?,保存后重新运行Warbler命令即可。

  • 匹配JRuby版本
    额外注意:你当前使用Ruby 3.2,JRuby建议选用支持Ruby 3.2的版本(比如JRuby 9.4及以上),避免版本不兼容引发其他问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:53:14