我的网络应用很棒。试图使用蜂巢连接到hadoop。测试工作正常,但我无法运行Web应用程序。我从hadoop-core的传递maven依赖项中得到一个错误,它引入了j2ee jar,它覆盖了Tomcat并且在尝试运行Web应用程序时陷入困境(特别是在加载上下文时)。
愚蠢地我想如果我只是使用为CDH5构建的Spring Data,他们就可以覆盖所有这些。没有这样的运气。我在这里关注他们的文档:https://github.com/spring-projects/spring-hadoop/wiki/Build-with-Cloudera-CDH5
这是我目前的POM:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-hadoop</artifactId>
<version>2.0.4.RELEASE-cdh5</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>${hive.version}</version>
<scope>runtime</scope>
</dependency>
这是错误:
SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;] with root cause
java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
at org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:515)
at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1817)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
从cloudera的repos
直接构建时,我也遇到了这个错误我可以在那里开始填充排除,但这感觉很乱,而且我对其他可能不知道的传递依赖性错误的偏执感到偏执。
我仔细阅读了文档以及示例代码和pom文件:https://github.com/spring-projects/spring-hadoop-samples/blob/master/hive/pom.xml
他们的POM文件中似乎没有排除项。但是,我见过其他人这样做,例如:Spring + Maven + Hadoop
这是使用这些技术的可接受方式吗?这是我第一次在这里寻求确认。也许我错过了什么?
简单地排除
是否正常