首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solrj NoClassDefFoundError

Solrj NoClassDefFoundError
EN

Stack Overflow用户
提问于 2015-10-03 01:20:48
回答 1查看 428关注 0票数 0

我使用Solr在数据库上执行搜索。我在我的pom.xml中添加了下面的依赖项,但是它没有工作。

代码语言:javascript
复制
<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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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的默认库路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32917985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档