首页 新闻 会员 周边 捐助

使用eclipse中的maven构建web应用出现 java.lang.LinkageError异常

0
悬赏园豆:50 [待解决问题]

在eclipse当中建一个maven project管理web项目,使用的是模板,没有添加任何的java代码,自然在webapp中只有一个eclipse代为生成的静态资源index.jsp,依赖如下

1 [INFO] +- junit:junit:jar:4.10:test
2 [INFO] |  \- org.hamcrest:hamcrest-core:jar:1.1:test
3 [INFO] \- javax.servlet:javax.servlet-api:jar:3.0.1:provided

但是只要tomcat7:run就会出现如下错误

▒▒▒▒: Servlet.service() for servlet [jsp] in context with path [/webdemo] threw exception [java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest"] with root cause
java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest"
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.getDeclaredMethods(Class.java:1975)
        at org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:127)
        at org.apache.catalina.core.DefaultInstanceManager.populateAnnotationsCache(DefaultInstanceManager.java:342)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:161)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:149)
        at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

tomcat应该是自带了servlet-api,所以依赖的sevlet的范围我设置的是provided,但是也是一直有错,依赖只有三个,应该是没有冲突的,还请大牛帮我看下,感激不尽!

江右没蓝的主页 江右没蓝 | 初学一级 | 园豆:152
提问于:2016-01-29 13:05
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册