在Spring Boot中将Apache Mahout与ElasticSearch集成

时间:2018-09-07 13:06:34

标签: java spring spring-boot elasticsearch mahout

我有一个与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解决了依赖关系,项目编译没有错误,但是当我启动它时,服务器停止了。 任何想法? 谢谢

1 个答案:

答案 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。