使用spring(mvc)+ hadoop + hive时,是否需要maven依赖项排除?

时间:2015-01-23 01:44:24

标签: spring maven spring-mvc hadoop

我的网络应用很棒。试图使用蜂巢连接到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

这是使用这些技术的可接受方式吗?这是我第一次在这里寻求确认。也许我错过了什么?

简单地排除

是否正常

0 个答案:

没有答案