WEB项目整合spring-data-hbase出现NoSuchMethodError: PageContextImpl.evaluateExpression

在做springmvc和spring-data项目中的hbase集成时发出现以下错误

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoSuchMethodError: org.apache.jasper.runtime.PageContextImpl.evaluateExpression(Ljava/lang/String;Ljava/lang/Class;Ljavax/servlet/jsp/PageContext;Lorg/apache/jasper/runtime/ProtectedFunctionMapper;)Ljava/lang/Object;
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)

这是由于其中包冲突引起的,web项目中有JSP相关的包,而在spring-data-hadoop项目和hadoop-common项目中都有于其相关的包,所以会引起冲突,这里只需要在引入spring-data的包时排除冲突的包就行:


org.springframework.data
spring-data-hadoop
${spring.hadoop.version}


org.springframework
spring-context-support


org.slf4j
slf4j-log4j12


jasper-runtime
tomcat


 

org.apache.hadoop
hadoop-common
${hadoop.version}
compile


jasper-runtime
tomcat





org.apache.hbase
hbase-client
${hbase.version}
compile


log4j
log4j


org.slf4j
slf4j-log4j12



如果还出现以下错误,则把以上蓝色字部分引入的包去掉:

java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/IProblem;
at org.apache.jasper.compiler.JDTJavaCompiler$2.acceptResult(JDTJavaCompiler.java:442)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:398)
at org.apache.jasper.compiler.JDTJavaCompiler.compile(JDTJavaCompiler.java:503)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:368)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:437)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:360)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
这样spring-data-hadoop项目就包就可以和web项目整合了。



你可能感兴趣的:(hadoop,hbase,spring)