Java有一个ScriptEngine系统,允许您以不同的语言运行/评估语句。
我知道JavaScript是受支持的,但我找不到任何其他语言来使用它。
例如,Ruby实现了吗?
发布于 2013-11-16 01:12:54
..I知道JavaScript是受支持的,.
ECMAscript,严格来说。
。。但我找不到其他语言来使用它。例如,Ruby实现了吗?
不是的。默认情况下,ECMAscript引擎是唯一一个默认包含的引擎,这是我上次听说的。
更新
下面的评论表明,纳什霍恩引擎已经被废弃,并将被删除‘很快’。
发布于 2016-06-26 13:38:50
下面是确定系统中所有语言的脚本:
import java.util.List;
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.Bindings;
import javax.script.ScriptContext;
import javax.script.ScriptEngineFactory;
public class Test {
public static void main(String[] args)
{
ScriptEngineManager mgr = new ScriptEngineManager();
List<ScriptEngineFactory> factories = mgr.getEngineFactories();
for (ScriptEngineFactory factory : factories)
{
System.out.println("ScriptEngineFactory Info");
String engName = factory.getEngineName();
String engVersion = factory.getEngineVersion();
String langName = factory.getLanguageName();
String langVersion = factory.getLanguageVersion();
System.out.printf("\tScript Engine: %s (%s)\n", engName, engVersion);
List<String> engNames = factory.getNames();
for (String name : engNames)
{
System.out.printf("\tEngine Alias: %s\n", name);
}
System.out.printf("\tLanguage: %s (%s)\n", langName, langVersion);
}
}
}希望这能有所帮助。
发布于 2013-11-16 01:13:11
不在ScriptEngine中,但仍然可以使用BSF。在脚本框架中,您可以找到它的文档这里。-
BSF2.x目前支持几种脚本语言:
此外,以下语言还支持它们自己的BSF引擎:
https://stackoverflow.com/questions/20013310
复制相似问题