Java 1.6中已经内置了脚本语言的Java API(JSR223),而对于Java 1.5,可单独下载此处。
我的问题是:如果使用1.5版本的单独下载,是否存在任何限制或差异需要注意,与1.6中的原生支持有何不同?
我之前也曾面临同样的问题。
可能有一个区别在于脚本引擎的质量。以下是我在jruby-user列表中得到的回复:
我猜其中一个原因是当前的JRuby引擎只能在Java5上运行,而不是官方发布的版本。我为用户提供了存档以方便使用。 http://old.nabble.com/Call-for-discussion-about-embed-API-tp24528478p24981076.html:
此外:
我也知道一些关于Java5+JSR223+Jruby的类版本问题的报告,但对我来说它很好用。 http://old.nabble.com/Call-for-discussion-about-embed-API-tp24528478p25181920.html
我认为这些与在JDK5下编译的ScriptEngines有关,请参见http://kenai.com/projects/jruby/pages/JavaIntegration#Java_6_(using_JSR_223:_Scripting)
话虽如此,除了java.scripting API本身的限制外,我在Java5和JRuby上并没有遇到这些或其他真正的问题-但我想在Java6上可能会有更好的支持和性能(仅从JSR223的角度来看)。 (也请参见上面的线程)。
另一方面,我在Java 6与OSGI中遇到了类加载问题:我认为它需要额外的调整,以便JRE内置的发现机制找到存在于捆绑包中的ScriptEngines..(我可能会在Stack Overflow上发布另一个问题 :)