我刚刚开始使用 JRuby,当我测试以下保存为脚本的代码时
include java_import
frame = javax.swing.JFrame.new
frame.getContentPane.add javax.swing.JLabel.new('Hello, World!')
frame.setDefaultCloseOperation javax.swing.JFrame::EXIT_ON_CLOSE
frame.pack
frame.set_visible true
我收到以下错误
Switch to inspect mode.
irb(main):001:0> include java_import
TypeError: wrong argument type Array (expected Module)
from org/jruby/RubyModule.java:2068:in `include'
from (irb):1:in `evaluate'
from org/jruby/RubyKernel.java:1066:in `eval'
from org/jruby/RubyKernel.java:1392:in `loop'
from org/jruby/RubyKernel.java:1174:in `catch'
from org/jruby/RubyKernel.java:1174:in `catch'
from C:\jruby-1.7.2\/bin/jirb_swing:54:in `(root)'
irb(main):002:0>
有人可以帮我确定我做错了什么吗?我已经安装了 jruby-1.7.2 (C:\jruby-1.7.2),添加到系统变量中的 PATH,并在 Windows 7 上运行。在命令提示符下,我可以正确测试 jruby 和 java 版本
我还通过 jruby(1.9.3).exe 启动了 jirb_swing 并在提示符下输入
irb(main):001:0> include java_import
我得到同样的错误信息
更新
大家好
在 JRuby 和 Java 的 Internet 页面上进一步搜索后,我已经成功解决了这个问题。
首先是我从 JRuby 调用 Java 的两种方法:
- 使用“include Java”(在我的脚本文件中不带引号,大写 J)
- 使用 "require 'java'" (没有 " 引号,注意 java 周围的单引号,现在以小写 j 开头)
当我在 GitHub ( https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby )上阅读详细文档时,我使用的“java_import”是我粗心的错误
我将更多地研究使用“include”与“require”语句的差异或缺乏并回发。作为一个真正的新手,这真是大开眼界
斯里兰卡