Это приложение должно получить некоторый код из HttpServletRequest, скомпилировать его и вернуть файл с скомпилированным кодом.
Однако я получаю сообщение об ошибке при запуске вызова compiler.compile ().Во время компиляции в Eclipse не отображалось никаких предупреждений или сообщений об ошибках.
Любые предложения, пожалуйста?
Спасибо
public class MyServlet extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setHeader("Content-Type", "text/javascript;charset=utf-8");
res.setHeader("Content-Disposition","attachment;filename=compiled.js");
PrintWriter printer=res.getWriter();
String compiledCode=compile(req.getParameter("inputScript"));
printer.write(compiledCode);
printer.close();
}
public static String compile(String code)
{
com.google.javascript.jscomp.Compiler.setLoggingLevel(Level.INFO);
com.google.javascript.jscomp.Compiler compiler = new com.google.javascript.jscomp.Compiler();
compiler.disableThreads();
CompilerOptions options = new CompilerOptions();
CompilationLevel.SIMPLE_OPTIMIZATIONS.setOptionsForCompilationLevel(options);
JSSourceFile js = JSSourceFile.fromCode("input.js", code);
WarningLevel.QUIET.setOptionsForWarningLevel(options);
compiler.compile(null, js, options);
return compiler.toSource();
}
}
ОШИБКА:
java.lang.NullPointerException
at com.google.javascript.jscomp.JsAst.<init>(JsAst.java:44)
at com.google.javascript.jscomp.CompilerInput.<init>(CompilerInput.java:91)
at com.google.javascript.jscomp.Compiler.makeCompilerInput(Compiler.java:381)
at com.google.javascript.jscomp.Compiler.initModules(Compiler.java:341)
at com.google.javascript.jscomp.Compiler.init(Compiler.java:317)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:525)
at com.google.javascript.jscomp.Compiler.compile(Compiler.java:491)