У меня есть проект, в котором нужно использовать 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>