Software Configuration Management
Posts 1-3 of 3
-
Oliver Gierke Premium MemberThe company name is only visible to registered members.Maven2: Dependency zu Klassen im Testordner eines Moduls
Hallo zusammen,
ich habe folgendes Problem: ich habe ein Modul A, dessen Testordner einige Utilityklassen für das Testen bereitstellt. Die Testklassen eines Moduls B benutzen diese Klassen. In Eclipse kompiliert das ganze prima, da das nur die Abhängigkeit Modul B -> Modul A kennt und somit der Testordner des Moduls A auch im Classpath liegt, wenn die Tests von Modul B ausgeführt werden.
In Maven habe ich natürlich die Dependency von Modul B zu Modul A deklariert, allerdings bezieht sie sich ja nur auf das fertig gebaute JAR, was keine Klassen aus dem Testordner enthält.
Folgende Lösungsmöglichkeiten habe ich mir überlegt:
1. Den Pfad zum Testordner von A mit in das <testResources> Element mit aufnehmen. Ist ein wenig hässlich, da ich damit vorraussetze, dass Modul A auch mit ausgecheckt ist.
2. Die Testutilityklassen in ein eigenes Projekt auslagern und das den Modulen A und B als Dependency mit test scope hinzufügen.
Sieht elegant aus, funktioniert aber nicht, da die Utilityklassen von Klassen aus Modul A Gebrauch machen und ich somit eine zyklische Abhängigkeit zwischen den Modulen hätte.
Die Utilityklassen mit in den Sourcebaum des Moduls A zu legen halte ich ebenfalls für unschön, da sie meiner Meinung nach nichts im Produktivcode zu suchen haben.
Hat irgendwer vielleicht noch eine kreative Idee?
Gruß
Ollie
- 29 Oct 2007, 4:16 pm
-
Oliver Gierke Premium MemberThe company name is only visible to registered members.Re: Maven2: Dependency zu Klassen im Testordner eines Moduls
Ich habe das Problem gelöst bekommen.
Man trägt im POM des "Server" Projektes das maven-jar-plugin ein und definiert als goal "test-jar". Auf der "Clientseite" kann man das Serverprojekt als Dependency angeben und mit "type" "test-jar" eben dieses jar referenzieren.
Vielen Dank an Eberhard Wolff für den Hinweis!
Gruß
Ollie
- 06 Nov 2007, 09:14 am
-
Andreas KanzlersThe company name is only visible to registered members.Re^2: Maven2: Dependency zu Klassen im Testordner eines Moduls
Vielen Dank für die Bereitstellung der Lösung. Ich hatte soeben genau das gleiche Problem.
Nach "install" bzw. "deploy" des Server-Projekts kann dann auch das Client-Projekt wieder kompilieren.
Grüße,
Andreas
- 23 Jan 2008, 12:15 pm
