我使用Solr在数据库上执行搜索。我在我的pom.xml中添加了下面的依赖项,但是它没有工作。
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>5.3.1</version>
</dependency>我得到了一个运行时错误java.lang.NoClassDefFoundError: org/apache/solr/params/params/SolrParams
我通过将整个库放在WEB/lib文件夹下解决了这个问题。然而,它使我感到困惑,为什么maven依赖没有起作用。我用的是Tomcat8.0。
发布于 2015-10-04 07:24:32
应用程序中引用的所有jars (库)在运行时都应该在应用程序的库路径中可用。在POM中,您已经定义了所使用的所有库或包。POM的默认存储库是~/.m2/respository,它保存所有引用jars。
现在你也需要在朗姆酒时间提供它们。当您对任何应用程序执行mvn clean install时,默认情况下它只打包应用程序源代码,而不是所有库。它们被称为Thin jar's,因为它们只包含应用程序代码和轻量级。
要在运行时访问它们,您需要创建一个Fat jar,它将绑定在POM文件中定义的所有jars,或者您需要将它们添加到应用程序lib路径中。
通过将它们放入WEB-INF/lib中,可以将所有jar添加到应用程序库路径中,这是tomcat的默认库路径。
https://stackoverflow.com/questions/32917985
复制相似问题