我正在使用warbler在ruby类之外构建一个jar,这样它就可以作为交互式应用程序运行。现在,我想在我的java应用程序中使用该jar作为一个库。我注意到,warbler生成的jar包含使用jrubyc编译的ruby类,不带--javac选项。因此,有谁知道如何使用warbler生成jar,这样它就可以作为独立的应用程序运行,并且可以作为Java项目中的库使用,这样ruby类的对象就可以在Java中创建?
下面是我的ruby代码的结构:
core
|--- lib
|----a.rb
|----b.rb
|---java_liba.rb内容:
require 'b'
class A
def test
ob=b.new
puts ob.test
end
endb.rb内容:
class B
def test
puts "test"
end
end然后,我使用warbler创建了一个上面的jar,将一个jar放在另一个java项目的类路径中,并尝试访问a.test。但它显示“无法加载-- b”
发布于 2014-01-01 00:43:02
Warbler目前不允许您传递该选项。我看到了关于这个的you have already opened an issue。除此之外,你最好的办法就是尝试黑进the line of code that invokes jrubyc来添加选项,看看事情是如何失败的。
我不运行Warbler项目,但我认为这不是Warbler的意义所在,所以您可能只想编写一个Rakefile (或Makefile、POM或其他任何文件)来运行jrubyc并为您创建JAR。
此外,您对问题的更新主要关注与原始问题完全无关的unable to load -- b问题,我相信我已经在your other question中回答了这个问题。
https://stackoverflow.com/questions/20822111
复制相似问题