1

我刚刚开始使用 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 的两种方法:

  1. 使用“include Java”(在我的脚本文件中不带引号,大写 J)
  2. 使用 "require 'java'" (没有 " 引号,注意 java 周围的单引号,现在以小写 j 开头)

当我在 GitHub ( https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby )上阅读详细文档时,我使用的“java_import”是我粗心的错误

我将更多地研究使用“include”与“require”语句的差异或缺乏并回发。作为一个真正的新手,这真是大开眼界

斯里兰卡

4

0 回答 0