2016-05-26 11 views
0

Ich möchte die letzte Version der PowerMock Bibliothek (1.6.5) durch Maven verwenden. Aber mein Paket kann nicht kompiliert werden, da Maven Abhängigkeit Konvergenzfehler findet. Unten sehen Sie, dass es zwei verschiedene Versionen von org.objenesis:objenesis Bibliothek in der gleichen Abhängigkeit:Abhängigkeit Konvergenzfehler für PowerMock

Dependency convergence error for org.objenesis:objenesis:2.1 paths to 

dependency are: 
+-mypackage:v1-SNAPSHOT 
    +-org.powermock:powermock-api-mockito:1.6.5 
    +-org.mockito:mockito-core:1.10.19 
     +-org.objenesis:objenesis:2.1 
and 
+-mypackage:v1-SNAPSHOT 
    +-org.powermock:powermock-api-mockito:1.6.5 
    +-org.powermock:powermock-api-mockito-common:1.6.5 
     +-org.powermock:powermock-api-support:1.6.5 
     +-org.powermock:powermock-reflect:1.6.5 
      +-org.objenesis:objenesis:2.2 

Ich habe versucht, einen Ausschluss zu machen, aber ich kann nicht nur eine Version ausschließen, muss ich alle von ihnen auszuschließen, das geht mir nicht, wie ich denke.

Haben Sie das gleiche Problem? Was kann ich tun?

Antwort

1

Es kann zwei verschiedene Versionen von objenesis, because two different libraries depends on two different version of objenesis`: PowerMock und Mockito. Sie haben zwei Möglichkeiten, das Problem zu beheben:

  • ausschließen org.objenesis:objenesis von PowerMock Abhängigkeiten und fügen Sie es manuell auf Ihre pom.
  • ausschließen mockito-core von PowerMock Abhängigkeiten und fügen Sie sie pom als getrennt Anstand mit objenesis auszuschließen.
0

Ich folgte der Antwort von Arthur, machte aber nur einen Ausschluss für die Objekesis zur Abhängigkeit Powermodul-Modul-Junit. Danach war das Enforcer Plugins glücklich.

<dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-module-junit4</artifactId> 
     <version>1.7.0</version> 
     <scope>test</scope> 
     <exclusions> 
      <exclusion> 
       <groupId>org.objenesis</groupId> 
       <artifactId>objenesis</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.powermock</groupId> 
     <artifactId>powermock-api-mockito2</artifactId> 
     <version>1.7.0</version> 
     <scope>test</scope> 
    </dependency>