【发布时间】:2015-09-06 12:12:24
【问题描述】:
以下是我的名为test.rb的jruby文件
require 'java'
require 'jruby.jar'
java_import 'jruby.Jruby'
puts "This is coming from Ruby."
这是我的 Java 代码:
package jruby;
import javax.swing.JOptionPane;
public class Jruby {
public static void main(String[] args) {
String s = "This is coming from Java!";
JOptionPane.showMessageDialog(null, s);
}
}
当我使用命令运行 jruby 时
jruby test.rb
我得到的唯一结果是
this is coming from Ruby.
如何从 Java 类启动以执行 Jar 文件中的代码?当我尝试添加以下内容时:
var = new Jruby()
它给了我一个错误:
NoMethodError: undefined method `Jruby' for main:Object
编辑
试过了,还是不行。包名是foo,类名是Foo
require 'java'
require 'foo.jar'
java_import 'foo.Foo'
puts "This is coming from Ruby."
foo.Foo.main()
这给出了以下错误:
NameError: undefined local variable or method 'foo' for main:Object (root) at test.rb
在 Meier 的帮助下工作的最终文件
require 'java'
require 'foo.jar'
java_import 'javax.swing.JOptionPane'
puts "This is coming from Ruby."
import 'foo.Foo'
Java::foo::Foo.hello()
hello() 是包含 Java 代码的类。
【问题讨论】:
-
你需要确保不要在ruby文件中写java语法,比如new Jruby()
标签: java ruby jar import jruby