Коллега пытается создать новый весенний проект. Проект явно зависит от Spring-Security, которая в свою очередь (неявно) зависит от wss4j. При запуске тестов у него возникает проблема с отсутствующим классом.
Мы отследили отсутствующий класс по оси-saaj, «предоставленной» области видимости wss4j. Когда я запускаю цель dependency:tree
maven, она не указывается как зависимость его проекта.
Мое понимание слова «предоставлено» таково: оно решено Maven для сборки, но не включено в поставляемый продукт или не предоставлено Maven (на пути к классам) для любых фаз «запуска» (запуска тестов или запуска самого приложения). через Maven).
Таким образом, если зависимость «предоставлена» неявна для вашего проекта, Maven будет полностью ее игнорировать, поскольку на самом деле она не создает результат, зависящий от «предоставленного» артефакта, и вы сами должны предоставить его для выполнения. время.
Я протестировал и dependency:tree
перечисляет предоставленные зависимости, если они являются явными зависимостями вашего проекта, но не, если они находятся ниже в дереве зависимостей.
Я сказал ему, чтобы он пока включал зависимость как явную (с областью действия «время выполнения»), но, очевидно, это вызовет проблемы в полной среде выполнения (она не ограничена областью действия «ничего»), но нам нужно знать зависимости, чтобы явно включить их. Кто-нибудь знает какой-нибудь способ получить полный список зависимостей для проекта?
Спасибо
PS. Я знаю, что мог бы также заставить его явно полагаться на 'axis-saaj' с областью действия 'test', но это не проблема, список зависимостей есть!
PPS. мы используем Maven 3 для этого
PPPS. Я не включил здесь какой-либо текст пом, потому что это будет слишком долго. В этом можно убедиться, создав проект явной зависимости от (groupId) org.springframework.ws, (artifactId) spring-ws-security, (версия) 2.0.0.RELEASE.