我有一个Java应用程序,它需要org.jruby:jruby-core
和org.jruby:jruby-stdlib
Maven工件。有了这些,我可以做到(从应用程序内部):
ScriptEngine engine = new ScriptEngineManager().getEngineByName("jruby");
这很好。但我想取消捆绑JRuby,以便用户可以选择是否自己提供它。我以为我可以让他们从JRuby website下载“ JRuby 9.2.x.x Complete .jar”并将其放在他们的java.library.path
中,然后ScriptEngineFactory可以在其中找到它。但这是行不通的。 ScriptEngineFactory.getEngineByName("jruby")
返回null
,而ScriptEngineManager().getEngineFactories()
没有显示。
我正在使用macOS,有问题的路径是〜/ library / Java / Extensions,在这里我可以放置JDBC驱动程序和ImageIO插件等有效的工具。我正在使用OpenJDK 13,并且这个位置肯定在我的java.library.path
上。
我做错了吗,还是JRuby不支持这样使用?