Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从ruby类调用jar文件_Ruby On Rails_Ruby_Ruby On Rails 3_Jar - Fatal编程技术网

Ruby on rails 从ruby类调用jar文件

Ruby on rails 从ruby类调用jar文件,ruby-on-rails,ruby,ruby-on-rails-3,jar,Ruby On Rails,Ruby,Ruby On Rails 3,Jar,如何从ruby类调用jar文件(java归档文件)。并从中访问函数/方法 我指的是以下几点 但我得到了以下错误: 'require':无法加载此类文件--/tmp/Test.jar(LoadError) 如何解决这个问题。您不能从Ruby调用Java代码。你可能想看看。JRuby是链接中的人使用的,当他在控制台中键入JRuby Main.rb时,你可以看到它。你不能从Ruby调用Java代码。你可能想看看。JRuby是链接中的人使用的,当他在控制台中键入JRuby Main.rb时,你可以看到它

如何从
ruby
类调用
jar
文件(java归档文件)。并从中访问函数/方法

我指的是以下几点

但我得到了以下错误:

'require':无法加载此类文件--/tmp/Test.jar(LoadError)


如何解决这个问题。

您不能从Ruby调用Java代码。你可能想看看。JRuby是链接中的人使用的,当他在控制台中键入
JRuby Main.rb
时,你可以看到它。

你不能从Ruby调用Java代码。你可能想看看。JRuby是链接中的人使用的,当他在控制台中键入
JRuby Main.rb
时,你可以看到它。

你可以使用系统调用。如果用户很多,可能会出现性能问题,但对于大多数用户来说,这应该是可行的:

# Create a directory (in this sample called "jars") inside public directory and move your jar file inside the newly created directory.

def externaljar

 argsA = ""
 argsB = ""

    Dir.chdir("#{RAILS_ROOT}/public/jars/") do

        # Use your path to the java according to the java directory installed in your machine.

        retResult  = system("/home/user/java/jdk1.7.0/bin/java -jar JSpell.jar #{argsA} #{argsB}")

    end #chdir
 end

您可以使用系统调用。如果用户很多,可能会出现性能问题,但对于大多数用户来说,这应该是可行的:

# Create a directory (in this sample called "jars") inside public directory and move your jar file inside the newly created directory.

def externaljar

 argsA = ""
 argsB = ""

    Dir.chdir("#{RAILS_ROOT}/public/jars/") do

        # Use your path to the java according to the java directory installed in your machine.

        retResult  = system("/home/user/java/jdk1.7.0/bin/java -jar JSpell.jar #{argsA} #{argsB}")

    end #chdir
 end

我可以从jar文件调用函数吗?@user1881251不是从MRI(标准Ruby)调用的。获取JRuby。或者搞乱从C到Java的绑定。此时您可能希望使用JRuby,这是不正确的。您可以在MRI中进行系统调用以调用jar。请参阅MRI std-lib中的Open3。我可以从jar文件调用函数吗?@user1881251不是从MRI(标准Ruby)调用的。获取JRuby。或者搞乱从C到Java的绑定。此时您可能希望使用JRuby,这是不正确的。您可以在MRI中进行系统调用以调用jar。请参见MRI标准库中的Open3。