2015-09-24 3 views
0

У меня возникла странная проблема, когда у меня есть две зависимости в моем файле Maven, которые определяют BasicLineFormatter.class. Проблема, с которой я сталкиваюсь, заключается в том, что одна из моих зависимостей, очевидно, использует другую версию, которую ожидает код, и она вызывает ошибки и ошибки.Устранение одинаковых классов, определенных в разных зависимостях

Как сообщить Maven, что я хочу использовать свою стандартную зависимость для этого класса, а не тот, который вызывает проблему.

RESOURCE LOCATION: jar:file:/var/lib/tomcat8/webapps/ROOT/WEB-INF/lib/tika-app-1.10.jar!/org/apache/http/message/BasicLineFormatter.class 

Мои pom.xml выглядит следующим образом:

<groupId>xxx</groupId> 
<artifactId>xxx</artifactId> 
<packaging>war</packaging> 
<version>1.0-SNAPSHOT</version> 
<name>xxx</name> 

<dependencies> 

    <dependency> 
     <groupId>com.google.code.gson</groupId> 
     <artifactId>gson</artifactId> 
     <version>2.3.1</version> 
    </dependency> 

    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-bundle</artifactId> 
     <version>1.18.3</version> 
    </dependency> 

    <dependency> 
     <groupId>org.jsoup</groupId> 
     <artifactId>jsoup</artifactId> 
     <version>1.8.3</version> 
    </dependency> 

    <dependency> 
     <groupId>com.mashape.unirest</groupId> 
     <artifactId>unirest-java</artifactId> 
     <version>1.4.6</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpcore</artifactId> 
     <version>4.3.3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpclient</artifactId> 
     <version>4.3.6</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpasyncclient</artifactId> 
     <version>4.0.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpmime</artifactId> 
     <version>4.3.6</version> 
    </dependency> 

    <dependency> 
     <groupId>org.json</groupId> 
     <artifactId>json</artifactId> 
     <version>20140107</version> 
    </dependency> 

    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.12</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>commons-io</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>2.4</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.pdfbox</groupId> 
     <artifactId>pdfbox</artifactId> 
     <version>1.8.10</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.pdfbox</groupId> 
     <artifactId>fontbox</artifactId> 
     <version>1.8.10</version> 
    </dependency> 

    <dependency> 
     <groupId>commons-logging</groupId> 
     <artifactId>commons-logging</artifactId> 
     <version>1.2</version> 
    </dependency> 

    <dependency>--> 
     <groupId>org.apache.tika</groupId> 
     <artifactId>tika-app</artifactId> 
     <version>1.10</version> 
    </dependency> 
</dependencies> 

Моего код получение BasicLineFormatter класса от зависимости Тик, который вызывает проблему. Я хочу, чтобы он исходил из моего определенного http-core, который является правильной версией. Он также, кажется, игнорирует упорядочение зависимостей в файле.

ответ

Смежные вопросы