Wie erkenne ich maven-dependency-plugin, dass das Artefakt im Projekt verwendet wird?

8

Dies ist eine Struktur meines Multi-Modul-Projekts:

%Vor%

Mit anderen Worten, das Modul api verwendet slf4j für Protokollierungszwecke. Es weiß nicht, was die Implementierung der Protokollierungsanlage sein wird. Das Modul foo fügt slf4j-log4j12 und log4j hinzu, um die Protokollierung zu implementieren. Ziemlich einfach.

Jetzt starte ich maven-dependency-plugin:analyze-only und das steht für Modul foo :

%Vor%

Bedeutet, dass das Plugin nicht versteht, dass foo diese Abhängigkeiten wirklich benötigt. Wie kann ich das Problem lösen?

    
yegor256 07.02.2011, 08:34
quelle

2 Antworten

10

Was passiert, wenn Sie diesen Abhängigkeiten einen runtime Bereich anstelle von compile geben?

Wenn Sie sie als Kompilierzeitabhängigkeiten definiert haben, denke ich, dass das Abhängigkeits-Plugin denkt, dass sie für die Kompilierung benötigt werden, wenn sie es wirklich nicht sind. Zur Laufzeit benötigen Sie jedoch nur die Dateien slf4-log4j und log4j JAR.

Bearbeiten: Möglicherweise müssen Sie die Option ignoreNonCompile :

festlegen

Ссылка

    
user7094 07.02.2011, 08:51
quelle
0

Haben Sie versucht, den Bereich von slf4j-log4j12 und log4j auf Laufzeit festzulegen?
Siehe Abhängigkeitsumfang für Maven

    
crowne 07.02.2011 08:51
quelle