我有一个与ElasticSearch集成的Spring Boot应用程序。 当我尝试将Apache Mahout添加为maven依赖项时,该应用程序不再运行并出现以下错误:
Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/apache/lucene/util/Accountable
如果我删除了mahout依赖项,则该应用程序正在运行。 pom.xml:
<dependencies>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core</artifactId>
<version>0.9</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
maven解决了依赖关系,项目编译没有错误,但是当我启动它时,服务器停止了。 任何想法? 谢谢
答案 0 :(得分:1)
为了使用Elasticsearc v6.x和Spring-boot的最新版本,您必须关注矩阵版本。因为当我尝试将Elasticsearch v6.2.2作为依赖项集成到我的spring-boot v1.5.X中时,我遇到了几个错误。因此spring-boot v2.x是与ES v6.x兼容的版本 因此,以下链接将帮助您了解项目版本之间的矩阵: https://www.elastic.co/support/matrix#matrix_compatibility 之后,请使用最新版本的apache mahout。