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')


但是,覆蓋後的那個方法不會被調用。

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