-1
이 응용 프로그램은 HttpServletRequest에서 일부 코드를 받아 컴파일하고 컴파일 된 코드로 파일을 반환해야합니다.NullPointerException Java 코드로 Closure Compiler API를 통합
그러나 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();
}
}
ERROR :
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)