 
                Wrapper for Nashorn JavaScript engine
import com.vk2gpz.jsengine.JSEngine;
...
public class Foo {
    void bar() {
        ScriptEngine engine = JSEngine.getNewEngine();
        try {
            engine.eval("your script");
        } catch (javax.script.ScriptException ex) {
            ex.printStackTrace();
        }
...
}Plugin plugin = Bukkit.getPluginManager().getPlugin("JSEngine");
if (plugin != null) {
   engine = (ScriptEngine) ((JSEngine) plugin).getSharedEngine();
   //engine = (ScriptEngine) ((JSEngine) plugin).getNewEngine();
}
...
if (engine != null) {
   try {
       engine.eval("...you script");
   } catch (javax.script.ScriptException ex) {
       ex.printStackTrace();
   }
}
ServicesManager servicesManager = getServer().getServicesManager();
if (!servicesManager.isProvidedFor(ScriptEngineManager.class)) {
   ScriptEngineManager manager = new ScriptEngineManager();
   servicesManager.register(ScriptEngineManager.class, manager, this, ServicePriority.Highest);
}
RegisteredServiceProvider servicesManager = Bukkit.getServer().getServicesManager().getRegistration(ScriptEngineManager.class);
ScriptEngineManager scriptEngineManager = servicesManager.getProvider();
ScriptEngine engine = scriptEngineManager.getEngineByName("js");
try {
    engine.eval("your script");
} catch (javax.script.ScriptException ex) {
    ex.printStackTrace();
}