我有一个现有的Spring Boot应用程序,该应用程序是非模块化的,并使用Nashorn。该应用程序在Java 14上运行良好。
在添加了适用于Java 15的新Nashorn的Maven坐标后,应用程序在启动脚本引擎时失败了。
public static void main(String[] args) throws ScriptException {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("nashorn");
engine.eval("print('Hello, World!');");
}
错误信息:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.eval(String)" because "engine" is null
at xxxxx.yyyy.service.JavaScriptServiceImpl.main(JavaScriptServiceImpl.java:52)
需要将整个项目模块化以利用Nashorn吗?