首页 > 解决方案 > 如何遮蔽 lucen-core 以便我可以使用 ElasticSearch 和 Solr 使用的两个版本?

问题描述

我有一个项目需要使用 ElasticSearch 7.6 和 Solr 6.6,但这些依赖项使用不同版本的 lucene-core。ES 带有 8.4,但 Solr 带有 6.6,当 Solr 尝试使用较新的版本时,它会出现随机类未找到错误,如下所示:

java.lang.NoClassDefFoundError: org/apache/lucene/document/LegacyIntField

我试图遮蔽,但没有任何运气,希望在这里得到一些帮助:)

我在 POM 中的依赖项:

<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>7.6.0</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.6.0</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-client</artifactId>
    <version>7.6.0</version>
</dependency>
<dependency>
    <groupId>org.apache.solr</groupId>
    <artifactId>solr-solrj</artifactId>
    <version>6.6.2</version>
</dependency>
<dependency>
    <groupId>org.apache.solr</groupId>
    <artifactId>solr-core</artifactId>
    <version>6.6.2</version>
</dependency>

标签: javamavenelasticsearchsolrdependencies

解决方案


推荐阅读