2014-03-26 17 views
5

Wir haben eine Komponente basierend auf Feder-Sicherheit-Kern und Feder-Test (Scope-Test) geschrieben. Als ich meinen ersten Test durchführte, konnte er LogFactory von commons-logging nicht finden. Ich schaute in die pom.xml von spring-security-core und war überrascht, dass es auf spring-core ausgeschlossen ist, die normalerweise diese Abhängigkeit bietet. Die LogFactory von commons-logging wird zur Kompilierzeit in verschiedenen Spring-Klassen verwendet, warum also ausgeschlossen?Warum schließt Spring-Security-Core Commons-Logging aus?

JFTR: Wenn ich die Reihenfolge zu ändern, so dass spring-test aufgeführt wird, bevor spring-security-core alles in Ordnung ist.

+0

commons-logging von Federkern ausgeschlossen ist, aber ich sehe, dass commons-logging wird später als direkte Abhängigkeit in [POM] (https://github.com/spring-projects/spring-security/blob/master/core/pom.xml) eingefügt. – user944849

+0

Ich habe das auch gesehen, aber es fügt nicht die Abhängigkeit zu meinem Projekt hinzu. Und ich frage mich, warum sie das getan haben. Können sie nicht nur die Version der Abhängigkeit verwalten oder überschreiben? – lrxw

Antwort

2

Ich denke, ich habe es jetzt. Der Importpunkt ist, dass spring-security-corecommons-logging als optional Abhängigkeit deklariert. So werden andere Projekte Feder Sicherheit verwenden, können von commons-logging verzichten und verwenden Sie die slf4j Brücke jcl-over-slf4j oder was auch immer sie mögen :)

Diese andere Antwort hat mir geholfen: https://stackoverflow.com/a/3223701/482702

Verwandte Themen