Та же транзитивная зависимость, но другая версия
Я сталкиваюсь с проблемой, где у меня есть следующие 2 зависимости:
http://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.utils/1.6.0
а также
http://mvnrepository.com/artifact/com.github.rotty3000/phidias/0.3.2
они оба имеют транзитивную зависимость от org.osgi.core, felix зависит от версии 4.1.0 и phidias зависит от версии 5.0.0
нам нужна версия 5.0.0 для правильной компиляции нашего кода
если я поставлю свои зависимости как:
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.utils</artifactId>
<version>1.6.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.rotty3000</groupId>
<artifactId>phidias</artifactId>
<version>0.3.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
maven автоматически получает версию 4.1.0, вызывающую ошибку компиляции. Если я положу phidias поверх felix, он получит версию 5.0.0 и скомпилируется нормально.
мы хотим упорядочить зависимости в алфавитном порядке, чтобы felix был на вершине, есть ли способ заставить osgi.core разрешить версию 5.0.0?
Спасибо!
1 ответ
<exclude>
это из обеих этих зависимостей
добавлять org.osgi.core
Требуется зависимость от версии 5.0.0
в вашем pom.xml
как явная зависимость от вашей требуемой версии
убедитесь, что две библиотеки, которые вы используете, совместимы во время выполнения 5.0.0