Я дважды сталкивался с этой проблемой и задавался вопросом, есть ли решение для нее:
Допустим, у меня есть проект Project
, который зависит от SomeClass
. SomeClass
зависит от Dependency
версии n
.
Теперь предположим, что Project
развертывается как плагин / подпрограмма или отдельный запускаемый модуль в некоторой среде. Среда сама по себе является программой (скажем, я пишу плагин в программу), и она зависит от Dependency
версии m
, где m
<<code>n. При развертывании среда будет использовать самую безопасную версию Dependency
, в данном случае m
, чтобы не взломать sh основной программы. Однако, поскольку в моем плагине есть методы, которые присутствуют в версии n
, но не m
, я теперь получаю исключение MethodNotFoundException.
Есть ли способ упаковать плагин Project
, чтобы он использует n
и программа все еще может использовать m
? Может как модуль переименовать?