JSP预编译异常java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.Compil ationResult.getProblem

来源:互联网 发布:女生的心理 男生必知 编辑:程序博客网 时间:2024/06/03 12:00

今天移植一个小项目,出现了java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()异常。


环境描述:

1.  ant编译:build.xml中配置了

<jasper verbose="0" uriroot="${webapp.dir}" package="com.messagesolution.webapp.jsp" outputDir="${dist.dir}/src/com/messagesolution/webapp/jsp" webXmlFragment="${dist.dir}/src/web.xml"/>

预编译jsp。


2. 项目是通过Agent类中的main函数启动jetty容器的,通过apache jasper来编译jsp


原因: 

原来是类org.eclipse.jdt.internal.compiler.CompilationResult冲突造成的,项目中有jdt.core_3.6.0.v_A58.jar和core-3.1.1.jar两个jar包,这两个jar是eclipse用来编译jsp的插件

jetty就是通过eclipse插件调用jasper来预编译jsp的


解决:

将core-3.1.1.jar包删除,编译通过。