我有一个现有的非模块化 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?