知识点
相关文章
更多最近更新
更多maven项目使用SOLR时报 previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest" 错的解决方法
2019-03-27 00:48|来源: 网路
环境:Apache solr4.8,maven3,IntellijIDEA
想在项目中使用solr 在pom.xml文件中添加了solr的依赖 solr-core,solrj 和solr-dataimporthandler
在使用tomcat6插件启动项目的时候报错:
八月 22, 2014 3:43:46 下午 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp 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"
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2451)
at java.lang.Class.getDeclaredMethods(Class.java:1810)
at org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:226)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:153)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:722)
报错的原因是javax.servlet这个jar包冲突(每个web容器都会提供这样一个名为javax.servlet.jar的jar包)
检查项目的依赖树,发现solr-core和solr-dataimporthandler 都有对javax.servelt 的依赖
在pom.xml中排除这些依赖:
<dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-dataimporthandler</artifactId> <version>4.8.0</version> <exclusions> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-core</artifactId> <version>4.8.0</version> <exclusions> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions> </dependency>
重新启动项目之后就不报错了
转自:http://www.cnblogs.com/jiaoyiping/p/3929645
相关问答
更多-
TCP/IP模型是一个________。[2023-05-19]
a -
我不太确定这是你的问题,但你试过了吗? http://localhost:8080/UserRegistrationProject/addUser 这应该打开注册页面 如果您希望在运行的服务器上自动打开此表单,请在web.xml中添加“addUser”值
addUser -
下列中不属于面向对象的编程语言的是?[2022-05-30]
a -
这似乎是Spring-Eclipse集成的一些版本组合中的已知问题 。 升级或降级。 It seems to be a known problem in some version combinations of Spring-Eclipse integration. Upgrade or downgrade.
-
说实话,INFO的前几行:没有JSP支持/ HelloWorld, 由于您使用path / HelloWord映射HelloWorld Servlet,因此必须创建相应的JSP才能修复此错误。 有可能利用Servlet来创建Web View,但这是一个MVC模型,Servlet和JSP作为控制器和视图。 你不应该在控制器内部进行查看。 看看你是否可以通过在web.xml中删除/ HelloWorld来修复信息 而关键错误部分:/ HelloWorld / java.lang.NoSuchMethodErro ...
-
问题是我第一次创建项目时出现了一些错误。 解决的办法是清空本地maven仓库的m2文件夹,然后清理并构建它并运行。 The problem was that I had some errors when I built the project for the first time. The solution was to empty the m2 folder which is the local maven repository, then clean and build and it works.
-
您可以通过调用getRequest()方法从RequestContext获取HttpServletRequest 。 请参阅此Spring RequestContext文档 I checked my code again and I think the whole "problem" came from me trying to return Object instead of HttpServletRequest directly. Therefore, I caused ClassCastExcepti ...
-
无法在Netbeans中的Maven项目中导入任何javax-servlet(Unable to import any javax-servlet in Maven project in Netbeans)[2021-08-31]
问题是由Maven对该库进行的不同导入导致的99%。 Maven按照分层方式导入你的库,所以你可能已经导入了一些包含javax.servlet lib,但它不是你需要的版本。 首先,我建议你通过查看maven层次结构来寻找解决冲突的方法,你可以通过控制台命令mvn dependency:tree -Dverbose来实现这一点mvn dependency:tree -Dverbose ( 在这里查看一个例子)。 然后,您可以通过库中的特定maven命令省略不需要的库:.... ... -
感谢这个链接http://lexxweb.co.uk/blog/?p=66 ,事实证明它是eclipse插件之一,它加载了另一个版本的servlet-api,导致我得到的LinkageError。 删除插件后,现在一切都很好 Thanks to this link http://lexxweb.co.uk/blog/?p=66, it turns out that it is one of the eclipse plugin which loads another version servlet-api, ...
-
您正在使用serlvet-api 3.1,它可以在tomcat 8.0.x和Java 7及更高版本上运行,但您使用的是Java 1.4。 您必须使这些版本兼容。 以下是完整列表: 适用于Apache Tomcat版本 You are using serlvet-api 3.1 that can be run on tomcat 8.0.x and Java 7 and later but you are using Java 1.4. You have to make these versions comp ...