Tengo un caso en el que deseo una dependencia en el classpath de tiempo de ejecución pero no classpath de prueba. La dependencia en cuestión es Logback, una implementación de SLF4J. En tiempo de ejecución, quiero que mi código (opcionalmente) dependa de logback para que tenga una infraestructura de registro disponible. En el momento de la prueba, sin embargo, deseo utilizar la implementación slf4j-nop
para tapar el resultado del registro. Con logback
como una dependencia de tiempo de ejecución y slf4j-nop
como una dependencia de prueba, recibo una advertencia de implementación múltiple de SLF4J al ejecutar mis pruebas. No veo una forma de excluir logback
del classpath de prueba.¿Cómo puedo tener una dependencia de Maven en classpath en tiempo de ejecución pero no en classpath de prueba?
No quiero dividir mis pruebas en un paquete separado si puede evitarse.
Ideas?
¡Gracias! Me has ahorrado mucho tiempo investigando con esta respuesta. –
Gracias una tonelada. Triste parece un truco ... ¡Ojalá pudiéramos obtener un "!" operador en el campo de alcance. –