Как удалить один класс из jar-with-dependency - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть приложение, которое подключается к ElasticSearch, используя /org/elasticsearch/client/RestHighLevelClient.class.Но я также хочу использовать другую библиотеку, которая также использует RestHighLevelClient.class.К сожалению, у меня есть это в моем pom.xml как <classifier>jar-with-dependencies</classifier>.Как их поменять?

Вот мой pom

 <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>6.4.3</version>
    </dependency>
    <dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>6.4.3</version>
    </dependency>
    <dependency>
        <groupId>com.another-library</groupId>
        <artifactId>another-artifact</artifactId>
        <version>1.1.3</version>
        <classifier>jar-with-dependencies</classifier>
    </dependency>

И когда я хочу использовать класс RestHighLevelCleint, я получаю это исключение

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call the method org.elasticsearch.client.RestHighLevelClient.<init>(Lorg/elasticsearch/client/RestClient;)V but it does not exist. Its class, org.elasticsearch.client.RestHighLevelClient, is available from the following locations:

jar:file:/C:/Users/lolek/.m2/repository/org/elasticsearch/client/elasticsearch-rest-high-level-client/6.4.3/elasticsearch-rest-high-level-client-6.4.3.jar!/org/elasticsearch/client/RestHighLevelClient.class
jar:file:/C:/Users/lolek/.m2/repository/another-library/another-artifact/1.1.3/another-artifact-1.1.3-jar-with-dependencies.jar!/org/elasticsearch/client/RestHighLevelClient.class

It was loaded from the following location:

file:/C:/Users/lolek/.m2/repository/org/elasticsearch/client/elasticsearch-rest-high-level-client/6.4.3/elasticsearch-rest-high-level-client-6.4.3.jar


Action:

Correct the classpath of your application so that it contains a single, compatible version of org.elasticsearch.client.RestHighLevelClient
...