在唤起生成的Java类文件时,在JRuby中打开JSON文件会引发异常

时间:2013-11-08 20:38:34

标签: ruby json jar jruby jvm-languages

我使用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放在错误的位置,我已经在jar文件中复制了data.json,但是发生了同样的错误。

有没有这样做?编译完代码后,JRuby无法打开JSON文件吗?

1 个答案:

答案 0 :(得分:0)

我认为默认情况下它不会查看JAR。我创建了一个小测试,并能够重现您的问题。然后我做了touch data.json并且代码不再有错误。我不确定如何指定您想要查看数据文件的JAR内部。