Maven неявные "предоставленные" зависимости, не показанные в "dependency: tree"

Коллега пытается создать новый проект Spring. Проект явно зависит от spring -security, которая, в свою очередь (неявно) зависит от wss4j. При запуске тестов у него возникает проблема с отсутствующим классом.

Мы ' Мы отследили отсутствующий класс до оси-saaj, «предоставленной» зависимости wss4j с ограниченным объемом. Когда я запускаю цель maven dependency: tree , она не указана в списке как зависимость его проекта.

Я понимаю «предоставлено» так: оно разрешено Maven для сборки, но не включено в результат, а не предоставленный Maven (в пути к классам) для любых этапов «выполнения» (выполнение тестов или запуск самого приложения через Maven).

Таким образом, если «предоставленная» зависимость неявна для вашего проекта, Maven будет игнорировать это полностью, поскольку на самом деле он не создает результат, зависящий от «предоставленного» артефакта, и вы должны предоставить его во время выполнения.

Я тестировал и зависимость: tree перечисляет предоставленные зависимости, если они являются явными зависимостями вашего проекта, но не если они находятся ниже по дереву зависимостей.

Я сказал ему включить зависимость как явную (с ограничением «время выполнения») на данный момент, но очевидно, что это вызовет проблемы в полной среде выполнения (область видимости не «предоставляется» даром), но нам необходимо знать зависимости, чтобы явно включить их. Кто-нибудь знает, как получить полный список зависимостей для проекта?

Спасибо

PS. Я знаю, что могу также заставить его явно полагаться на 'axis-saaj' с областью 'test', но это не проблема, перечисление зависимостей - это!

PPS. мы используем Maven 3 для этого

PPPS. Я не включил здесь текст pom, так как он будет слишком длинным. Вы можете убедиться в этом, создав для проекта явную зависимость от (groupId) org.springframework.ws, (artifactId) spring-ws-security, (version) 2.0.0.RELEASE.

5
задан GKelly 22 March 2011 в 10:39
поделиться