以下是test.rb
在Ruby中導入.jar文件:如何使用類
require 'java'
require 'jruby.jar'
java_import 'jruby.Jruby'
puts "This is coming from Ruby."
叫我JRuby的文件,這是我的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
最後文件,該文件與梅耶爾的幫助
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代碼。
你需要確保你不寫Java語法在ruby文件,如新的JRuby() – Meier