Maven – определение исходного файла pom зависимости

У меня есть ситуация, когда в моем файле EAR присутствует «N» файлов [модулей] JAR. В этих файлах JAR есть определенные артефакты, которые дублируются. Под дубликатом я подразумеваю, что имя артефакта такое же, но с разными версиями.

Пример: база-адаптер-59.0-20141219-311675-3.jar база-адаптер-60.0-20141223-678915-68.jar

Я хотел бы получить помощь в том, как найти местоположение исходного файла pom для этих файлов JAR.

Любая помощь в этом высоко ценится.

С уважением, Дипан


person Deepan    schedule 24.12.2014    source источник
comment
Исходный файл POM должен находиться в том же месте в вашем локальном репозитории Maven для конкретной зависимости. Если вы будете следовать инструкциям в этом сообщении, вы можете найти решение, которое вы можете использовать ...   -  person Ryan J    schedule 24.12.2014
comment
Вы уже делали mvn clean? Это артефакты SNAPSHOT из менеджера репозитория Nexus ... похоже, у вас есть другая проблема в вашей сборке, потому что где-то в вашей сборке есть версии 59.0-SNAPSHOT и 60.0-SNAPSHOT ....   -  person khmarbaise    schedule 24.12.2014


Ответы (1)


это может быть немного болезненно, но зависимость может быть в родительском pom.xml, транзитивной зависимости или профиле. Профили также могут быть в файле settings.xml.

Что бы я сделал, так это выполнил mvn dependency:tree в pom.xml, где скопированы зависимости, а затем искал, откуда они взялись. Затем следуйте по этому пути.

Немного странно, что у вас есть одна и та же банка дважды с другой версией. Обычно maven берет первый (или ближайший) найденный. Таким образом, добавление правильной версии в ваш pom.xml имеет расстояние 1, которое всегда будет выигрывать - любая транзитивная зависимость будет иметь большее расстояние. Возможно, зависимость использует другой groupId, и maven не может обнаружить тот же самый артефакт.

Вы также можете попробовать открыть файлы jar - maven обычно добавляет некоторую информацию в каталог META-INF (если вам повезло, и jar был выпущен с плагином maven-release-plugin).

person wemu    schedule 24.12.2014