Ich kann Ihnen ein Beispiel geben, das zum gleichen Problem führt, aber es gibt Ihnen möglicherweise keine Antwort auf Ihre Frage. (Zusätzlich verwende ich in diesem Beispiel mein Wissen über Maven 3, das möglicherweise nicht für Maven 2 gilt.)
In einem Multi-Modul-Maven-Projekt (enthält Module A
und B
, wobei B
von A
abhängt), können Sie auch eine Testabhängigkeit von A
in B
hinzufügen.
Diese Abhängigkeit in B
kann wie folgt aussehen:
com.foo
A
tests
test-jar
test
(Für weitere Informationen siehe https://maven.apache.org/guides/mini/guide-attached-tests.html)
Beachten Sie, dass das Projekt A
normalerweise ein sekundäres Artefakt mit einem Klassifizierer tests
erzeugt (d.h. .../com/foo/A//A--tests.jar
), in dem sich die Testklassen und Testressourcen befinden.
Wenn Sie das Projekt A
mit -Dmaven.test.skip=true
erstellen, treten beim Erstellen von B
ein Fehler bei der Abhängigkeitsauflösung auf, es sei denn, das Testartefakt von A
befindet sich in Ihrem lokalen Repository oder in entfernten Repositories. Der Grund dafür ist, dass die Testklassen von A
weder kompiliert wurden noch das tests
-Artefakt von A
erzeugt wurde.
Wenn Sie jedoch A
mit -DskipTests
erstellen, wird sein tests
-Artefakt erzeugt (obwohl die Tests nicht ausgeführt werden) und die Abhängigkeit in B
wird erfolgreich aufgelöst.