Как заставить зависимости использовать свои собственные транзитивные зависимости в языках JVM - PullRequest
0 голосов
/ 30 августа 2018

Предположим, у меня есть две библиотеки в моих pom.xml или build.sbt, скажем, A и B. Предположим, они оба зависят от C, но A зависит от версии 1, а B зависит от версии 2.

Насколько я понимаю, если эти версии несовместимы, ничего не поделаешь, кроме попыток повысить или понизить A или B так, чтобы они зависели от той же версии C.

Q1: Конечно, кто-то изобрел способ компилировать A & C.1, так что A вызывает C.1 и компилировать B & C.2, так что B вызывает C.2?

В2: Это сложно по своей сути, поскольку Java строится из байт-кода, а не из исходного кода? Q3: То есть такой инструмент должен был бы анализировать и изменять байт-код, а не только код Java / Scala?

В4: Есть ли собственный способ Java сделать это (вместо использования какого-либо независимого инструмента)?

В5: Есть ли другие языки / компиляторы, у которых нет этой проблемы? (т. е. функция вызова A в C.1 и B в C.2 является нативной)

...