用于脚本语言的 Java API (JSR223) 是 Java 1.6 的标准配置,可以在此处为 Java 1.5 单独下载。
我的问题是:如果使用 1.5 的单独下载与 1.6 中的本机支持,我应该注意哪些限制或差异?
用于脚本语言的 Java API (JSR223) 是 Java 1.6 的标准配置,可以在此处为 Java 1.5 单独下载。
我的问题是:如果使用 1.5 的单独下载与 1.6 中的本机支持,我应该注意哪些限制或差异?
我之前也遇到过同样的问题。
一个区别可能是脚本引擎的质量。这是我在 jruby-user 列表上得到的回复:
我想其中一个原因是当前在 Java5 上工作的 JRuby 引擎不是官方版本。为了方便用户,我把存档放了。 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 )
也就是说,我在 Java5 和 JRuby 上并没有真正遇到这些或其他真正的问题——除了 java.scripting API 本身的限制,但我猜在 Java6 上也是如此。(也请参见上面的那个线程)。
所以我认为 Java6 的好处——严格从 JSR223 的角度来看——将是更好的支持和性能。
另一方面,我确实在使用 OSGI 的 Java 6 中遇到了类加载问题:我认为它需要额外的调整,以便 JRE 的内置发现机制发现存在于捆绑包中的 ScriptEngines ..(我可能会发布另一个关于此的 SO 问题: )