JRuby中的Ruby脚本是否可以使用我的Java类,如果我没有与它共享它们?

时间:2013-01-10 04:17:42

标签: java ruby jruby

如果我的Ruby应用程序中ScriptingContainer JRuby执行了Java脚本,那么Ruby脚本是否能够访问或使用我在Java应用中定义的课程,如果我没有与剧本分享任何内容

通过分享这就是我的意思:

ruby = new ScriptingContainer(LocalVariableBehavior.PERSISTENT);
ruby.put("main", MyClass.class);
ruby.runScriptlet(readFile("Test.rb"));

如您所见,我正在与Ruby脚本共享一个名为main的变量,其值为MyClass.class

如果我不分享任何内容Ruby脚本是否仍能在我的应用中使用MyClass

1 个答案:

答案 0 :(得分:3)

是的,根据my answer there:如果您的类路径MyClass上有$LOAD_PATH,则JRuby会在您java_import时提取它。