Например, у меня есть зависимость, которую я хочу использовать в области test
(так, чтобы она находилась в пути к классу при выполнении модульных тестов) и в области runtime
(чтобы я мог содержать это в WAR/EAR/другая упаковка для развертывания, но не влияет на поиск транзитивной зависимости для зависимых артефактов).
Реальный пример жизни - это JAR-системы реализации SLF4J (например, Logback), я хочу, чтобы он существовал в classpath, когда я запускаю тест, и хочу, чтобы он был включен в мою WAR/EAR, но я не хочу, чтобы проект зависел в моем проекте включить это в переходный поиск зависимостей.
Я пытался использовать <scope>test,runtime</scope>
, но в Maven 3 он предупреждал меня о
[WARNING] 'dependencies.dependency.scope' for org.slf4j:jcl-over-slf4j:jar
must be one of [provided, compile, runtime, test, system] but is 'test,runtime'.
Каков правильный способ объявления области зависимостей в этом случае?
Спасибо