在 Java 中使用其他脚本语言

Java Scripting API 使外部脚本能够与 Java 交互

Scripting API 可以启用脚本和 java 之间的交互。脚本语言必须在类路径上具有脚本引擎的实现。

默认情况下,nashorn 提供 JavaScript(也称为 ECMAScript)。每个脚本引擎都有一个脚本上下文,其中所有变量,函数和方法都存储在绑定中。有时你可能希望使用多个上下文,因为它们支持将输出重定向到缓冲的 Writer 并将错误重定向到另一个。

还有许多其他脚本引擎库,如 Jython 和 JRuby。只要它们在类路径上,你就可以使用 eval 代码。

我们可以使用绑定将变量公开到脚本中。在某些情况下我们需要多个绑定,因为向引擎公开变量基本上只是将变量暴露给那个引擎,有时我们需要暴露某些变量,如系统环境和路径,这些变量对于同一类型的所有引擎都是相同的。在这种情况下,我们需要一个全局范围的绑定。公开变量,将其公开给同一 EngineFactory 创建的所有脚本引擎