Как импортировать определенный класс по определенной зависимости POM? - PullRequest
0 голосов
/ 24 апреля 2019

Я обогащаю клиентский модуль, который имеет различные вызовы WebService.

Модуль реализует WS API и большинство API разделяют общий объект EnterpriseMessageHeader.

Проблема, с которой я столкнулся во время выполнения, когда не удается найти конкретный метод. Когда я смотрю на код и наведите курсор мыши на объект EnterpriseMessageHeader, он показывает, что он ссылается на неверную зависимость POM. Вместо ссылки на 3-ю зависимость. Это ссылается на первое.

Поскольку все API имеют общий groupID ... Есть ли способ заставить ссылку / импорт на более низком уровне, чем из GroupID?

Если переместить зависимость в верхнюю часть списка. Ошибка выполнения исчезает, и сочетание клавиш Ctrl + Hover указывает на правильную зависимость ...

Теперь это портит другие реализации WS, которые у меня есть.

1 Ответ

0 голосов
/ 24 апреля 2019

Таким образом, у вас есть две разные зависимости, у каждой из которых есть класс с одним и тем же полностью определенным именем (имя пакета и идентификатор группы могут совпадать, но это не обязательно так - реальная проблема заключается в том, что две зависимости, независимо от их GAVможет содержать класс с тем же именем).

Эта проблема сложная.Java не позволяет вам загружать оба класса, и код может неожиданно сломаться.

Вы можете попробовать использовать плагин maven shade для переименования одного из пакетов в зависимостях, но обычно вам лучше попытатьсяпо возможности избегайте одной из двух зависимостей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...