我用来jrubyc
将 Ruby 编译成类文件。Ruby 文件之一包含
dat = File.open "data.json", "r"
旁边还有一个“data.json”文件。如果我直接使用jruby
命令,这个程序运行良好。
在我编译 Ruby 文件并将它们放入 jar 后,运行时出现以下错误java -jar
:
Exception in thread "main" org.jruby.exceptions.RaiseException: (Errno::ENOENT) data.json
at org.jruby.RubyFile.initialize(org/jruby/RubyFile.java:334)
at org.jruby.RubyIO.open(org/jruby/RubyIO.java:1144)
at RUBY.(root)(file:/Users/x5lai/Documents/rqrcode.jar!/read.rb:2)
...
为了确保我没有将 data.json 放在错误的位置,我将 data.json 复制到了整个 jar 文件中,但发生了同样的错误。
有没有办法做到这一点?一旦我编译了代码,JRuby 是否无法打开 JSON 文件?