У меня довольно базовый многомодульный проект. Родитель осведомлен о двух модулях, два модуля знают о родительском и модуле2 также включает в себя модуль1 в качестве зависимости. До сих пор все работает, как и ожидалось, приложение работает и т.д. Зависимость MVN: Tree , я вижу обновленную зависимость. Хотя, когда я делаю то же самое для Module2 , он по -прежнему показывает устаревшую зависимость как переходную зависимость Module1 . Насколько я понимаю, причина в том, что у меня есть устаревший снимок модуля1 в Nexus и мой локальный каталог .m2 , в зависимости от того, что из обоих. более новый. Но, тем не менее, Module1 правильно создается с более новой версией зависимости, Module2 , по-видимому, связывается с Module1 многомодульного проекта, но начинается с чашки, содержащей устаревшую зависимость от модуля1 , разбившись во время выполнения в конце.
Код: Выделить всё
The following method did not exist:
'java.lang.Object org.apache.commons.lang3.ObjectUtils.getIfNull(java.lang.Object, java.lang.Object)'
[...]
The called method's class, org.apache.commons.lang3.ObjectUtils, is available from the following locations:
jar:file:/C:/Users/THS/.m2/repository/org/apache/commons/commons-lang3/3.17.0/commons-lang3-3.17.0.jar!/org/apache/commons/lang3/ObjectUtils.class
The called method's class hierarchy was loaded from the following locations:
org.apache.commons.lang3.ObjectUtils: file:/C:/Users/THS/.m2/repository/org/apache/commons/commons-lang3/3.17.0/commons-lang3-3.17.0.jar
Это выглядит как проблема Classpath, потому что устаревшая версия Module1 в Nexus или .m2 не только имеет устаревшую зависимость, но и классы Module1 также были переименованы. Но они правильно используются модуль2 . Module2 вообще не в состоянии работать с устаревшей версией module1 в Nexus и .m2 , существует сильная связь, имена классов были бы разными и т. Д. Не могли бы начать вообще ...
Почему Snapshot рассматривается, когда решает зависимости и создание. Только?
Подробнее здесь:
https://stackoverflow.com/questions/797 ... us-but-bui