java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult

在转移项目后,由于eclipse版本不一样可能导致这样的问题:

java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipset/core/compiler/CategorizedProblem;
org.apache.jasper.compiler.JDTCompiler$2.acceptResult(JDTCompiler.java:370)
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:335)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:429)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
仔细观察后发现,lib里面有个 jdt-compiler-*.jar包,估计是他和eclipse自带的编译器出现冲突。
解决办法,remove it!


还有个解决办法就是不适用eclipse的编译jar来,到项目目录中找到.project文件,用文本形式打开,修改里面的编译jar org.eclipse.jdt.core.javabuilder 即可!

你可能感兴趣的:(java,apache,eclipse,servlet)