【发布时间】:2011-05-10 20:51:48
【问题描述】:
用于脚本语言的 Java API (JSR223) 是 Java 1.6 的标准配置,可以单独下载用于 Java 1.5 here。
我的问题是:如果在 1.5 中使用单独下载与在 1.6 中使用本机支持,我应该注意哪些限制或差异?
【问题讨论】:
用于脚本语言的 Java API (JSR223) 是 Java 1.6 的标准配置,可以单独下载用于 Java 1.5 here。
我的问题是:如果在 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)
也就是说,我在 Java5 和 JRuby 上并没有真正遇到这些或其他真正的问题——除了 java.scripting API 本身的限制,但我猜在 Java6 上也是如此。 (也请参见上面的那个线程)。
所以我认为 Java6 的好处 - 严格从 JSR223 的角度来看 - 将是更好的支持和性能。
另一方面,我确实在使用 OSGI 的 Java 6 中遇到了类加载问题:我认为它需要额外的调整,以便 JRE 的内置发现机制发现存在于捆绑包中的 ScriptEngines..(我可能会发布另一个 SO 问题关于这个:)
【讨论】: