jruby 不给力啊 (一)
经过半天的尝试,以及网上搜索,可以确定。jruby1.6.4(目前的最新版)只支持受限制的monkey patch,即如果你想修改java的类,那么这个修改只在jruby中是可见的,对于java来说不可见。
举例:
把下面的脚本嵌入java运行:
require 'java'import org.jdom.input.SAXHandlerclass SAXHandler def startPrefixMapping(prefix, url) print 'override called' endend#这里试图调用通过SAXBuilder来再次调用SAXHandler的startPrefixMapping方法builder = org.jdom.input.SAXBuilder.new()doc = builder.build('test.xml')