我正在尝试在 JRuby 和 Java 应用程序之间创建一个混合体,以便可以一次迁移单个组件。我现在要做的非常简单,这里是 Ruby 类:require 'java'
java_package 'eu.netprophecy.test'
class RubyViewModel
java_signature 'String getGreeting()'
def getGreeting
puts "Hello, ZK, from Ruby!"
end
end
我希望能够从 ZK 项目中使用此视图模型:
<?page title="Hello, Ruby!" contentType="text/html;charset=UTF-8"?>
<zk>
<window title="Hello Ruby!!" border="normal" width="200px" apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('eu.netprophecy.test.RubyViewModel')">
<label value="@load(vm.greeting)"/>
</window>
</zk>
我尝试使用 .class 创建一个 jar marbler
,但是它将带有 java 字节码的 .class 文件放在前面有项目名称的目录中,弄乱了预期的包结构(在这种情况下,我得到 EJB/eu/netprophecy/test/RubyViewModel,这意味着我无法在 Java 代码中使用生成的 Java 类)。
有谁知道这是否可能,是否有更好的方法,或者我是否必须手动创建 jar?