<dependency>
<groupId>org.mozilla</groupId>
<artifactId>rhino</artifactId>
<version>1.7.13</version>
</dependency>
<dependency>
<groupId>org.openjdk.nashorn</groupId>
<artifactId>nashorn-core</artifactId>
<version>1.8.0</version>
</dependency>
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;
public class ScriptRunner {
public void executeScript(String script) {
Context cx = Context.enter();
try {
ScriptableObject scope = cx.initStandardObjects();
cx.evaluateString(scope, script, "script", 1, null);
} finally {
Context.exit();
}
}
}
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class ScriptRunner {
public void executeScript(String script) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
engine.eval(script);
}
}
public class Main {
public static void main(String[] args) {
ScriptRunner runner = new ScriptRunner();
String script = "var a = 5 + 10; print(a);";
runner.executeScript(script);
}
}