【发布时间】:2009-11-04 22:18:06
【问题描述】:
我在 Java 代码中有以下类:
public class CHRTreeCreator extends IndexCreator { ... }
而不是CHRTreeCreator,我想使用同样扩展IndexCreator 的不同实现,但我想在JRuby 中对其进行编码。问题是,IndexCreator的具体实现是根据xml配置文件选择的:
<creator>dwe.index.tree.chr.CHRTreeCreator</creator>
代码如下所示:
// className is fetched from XML
Class creatorClass = Class.forName(className);
Constructor constructor = creatorClass.getConstructor(new Class[] { });
creator = (IndexCreator) constructor.newInstance(new Object[] { });
问题是,是否可以在 Ruby 中实现它,像这样:
class MyIndexCreator < IndexCreator
end
并以某种方式将 MyIndexCreator 类名放入 XML 配置文件中。在这种情况下,模块 - 包映射如何工作?
如果无法通过 Java 的 Class.forName 加载 Ruby 类,我应该如何解决这个问题?
【问题讨论】:
标签: java jruby classloader