jruby 不给力啊 (一)

经过半天的尝试,以及网上搜索,可以确定。jruby1.6.4(目前的最新版)只支持受限制的monkey patch,即如果你想修改java的类,那么这个修改只在jruby中是可见的,对于java来说不可见。

举例:
把下面的脚本嵌入java运行:
require 'java'
import org.jdom.input.SAXHandler
class SAXHandler
def startPrefixMapping(prefix, url)
print 'override called'
end
end
#这里试图调用通过SAXBuilder来再次调用SAXHandler的startPrefixMapping方法
builder = org.jdom.input.SAXBuilder.new()
doc = builder.build('test.xml')


但是,覆盖后的那个方法不会被调用。

也许,是我没有找到正确方法。请大家指教。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章