0

我刚开始使用 Spring 和 Hadoop。我有以下 build.gradle 工作正常:

dependencies {
    compile 'org.springframework:spring-webmvc:4.0.6.RELEASE'
    compile 'jstl:jstl:1.2'
    providedCompile 'javax.servlet:servlet-api:2.5'
}

但是,当添加

compile 'org.springframework.data:spring-data-hadoop:2.1.2.RELEASE'

对于依赖项,我的应用程序无法再显示 JSP ...我收到错误消息:

javax.servlet.ServletException: java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:273)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1221)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1005)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:952)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

我正在使用Tomcat 7.0.61Eclipse Juno (version 4.2.0)

经过一番研究,我发现我应该添加依赖项排除,但是哪些?因为我只有两个依赖项(sping mvc 和 spring data hadoop),但我不能排除其中任何一个。

我对 Gradle 也很陌生。
谢谢您的帮助。

4

1 回答 1

0

我对 Tomcat 有依赖问题。我在 build.gradle 文件的顶部添加了:

configurations {
    all*.exclude group: 'tomcat', module: 'jasper-runtime'
}

这解决了问题。

于 2015-04-15T07:50:08.867 回答