从 Ruby 调用 Java 程序
Calling Java program from Ruby
我想从我的 Ruby 脚本中调用 Java 程序。我正在尝试使用 JRuby,我安装了它并试图查看它是如何工作的。
我首先做了以下简单的 Java class:
package test;
public class Test {
public static void main(String[] args) {
say();
}
public static void say(){
System.out.println("oh hi!");
}
}
和下面的ruby程序,
#! /usr/bin/env ruby
require 'java'
require '/Users/arwa/NetBeansProjects/test/dist/test.jar'
class Main
def run
sayObj = Java::test::test.new
sayObj.say()
end
end
app = Main.new
app.run
在终端中,当我输入
jruby test_again.rb
我一无所获!不知道是什么问题
您在 java 和 ruby 中都有问题。
java 代码: 主要和 'static' 删除
package test;
public class Test {
public void say() {
System.out.println("oh hi!");
}
}
ruby 代码: 你在调用 java 库时不尊重 jruby 大写
#! /usr/bin/env ruby
require 'java'
require '/Users/arwa/NetBeansProjects/test/dist/test.jar'
class Main
def run
sayObj = Java::Test::Test.new # NOTE the uppercase
sayObj.say()
end
end
app = Main.new
app.run
我想从我的 Ruby 脚本中调用 Java 程序。我正在尝试使用 JRuby,我安装了它并试图查看它是如何工作的。
我首先做了以下简单的 Java class:
package test;
public class Test {
public static void main(String[] args) {
say();
}
public static void say(){
System.out.println("oh hi!");
}
}
和下面的ruby程序,
#! /usr/bin/env ruby
require 'java'
require '/Users/arwa/NetBeansProjects/test/dist/test.jar'
class Main
def run
sayObj = Java::test::test.new
sayObj.say()
end
end
app = Main.new
app.run
在终端中,当我输入
jruby test_again.rb
我一无所获!不知道是什么问题
您在 java 和 ruby 中都有问题。
java 代码: 主要和 'static' 删除
package test;
public class Test {
public void say() {
System.out.println("oh hi!");
}
}
ruby 代码: 你在调用 java 库时不尊重 jruby 大写
#! /usr/bin/env ruby
require 'java'
require '/Users/arwa/NetBeansProjects/test/dist/test.jar'
class Main
def run
sayObj = Java::Test::Test.new # NOTE the uppercase
sayObj.say()
end
end
app = Main.new
app.run