У меня один и тот же класс на 2 зависимости от моего проекта. Библиотеки unit-api-1.0 (которые зависят от org.geotools) и jscience-4.3.1 обе имеют класс javax.measure.quantity.Length
.
[INFO] +- org.geotools:gt-shapefile:jar:22.3:compile
[INFO] | +- org.geotools:gt-main:jar:22.3:compile
[INFO] | | +- org.geotools:gt-referencing:jar:22.3:compile
[INFO] | | | +- org.ejml:ejml-ddense:jar:0.34:compile
[INFO] | | | | \- org.ejml:ejml-core:jar:0.34:compile
[INFO] | | | +- commons-pool:commons-pool:jar:1.5.4:compile
[INFO] | | | +- org.geotools:gt-metadata:jar:22.3:compile
[INFO] | | | | \- org.geotools:gt-opengis:jar:22.3:compile
[INFO] | | | | \- systems.uom:systems-common-java8:jar:0.7.2:compile
[INFO] | | | | +- tec.uom:uom-se:jar:1.0.8:compile
[INFO] | | | | | +- javax.measure:unit-api:jar:1.0:compile
[INFO] \- org.jscience:jscience:jar:4.3.1:compile
[INFO] \- org.javolution:javolution:jar:5.2.3:compile
Когда я пытаюсь использовать Length для параметризации Измерьте , я получаю ошибку:
[ERROR] error: type argument Length is not within bounds of type-variable Q
[ERROR] where Q is a type-variable:
[ERROR] Q extends Quantity declared in class Measure
В основном оба интерфейса Длина расширяют интерфейс Количество, как показано здесь:
https://www.javadoc.io/static/javax.measure/unit-api/1.0/javax/measure/quantity/Length.html http://jscience.org/api/javax/measure/quantity/Length.html
Но один из них расширяет количество, а другой расширяет количество. Почему-то они не совместимы друг с другом, и компилятор использует неверный и выдает мне эту ошибку.
Есть ли способ как-то справиться с этой ситуацией?