Java ScriptEngine 支持的语言
2022-09-01 20:15:37
Java有一个ScriptEngine系统,允许您用不同的语言运行/评估语句。
我知道JavaScript是受支持的,但我找不到任何其他语言来使用它。
例如,Ruby是否实现了?
Java有一个ScriptEngine系统,允许您用不同的语言运行/评估语句。
我知道JavaScript是受支持的,但我找不到任何其他语言来使用它。
例如,Ruby是否实现了?
下面是一个脚本,用于确定系统上的所有语言:
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);
}
}
}
希望这有帮助。
..我知道一个事实,JavaScript是受支持的,..
..但我找不到任何其他语言来使用它。例如,Ruby是否实现了?
不。ECMAscript引擎是默认情况下唯一包含的引擎,这是我最后一次听到。
更新
Pointy在下面的评论表明,Nashorn引擎已被弃用,并将“很快”被删除。