Ich bin neu bei Maven und arbeite daran, einen Build für meine Firma zu erstellen. Wir wollen keine Verbindung zum Maven Central Repository herstellen, und wir haben eine andere Verzeichnisstruktur für src und Testcode als im Super Pom angegeben. Ich dachte, der beste Weg, damit umzugehen, ist, einen Kunden-Superpom zu kreieren, aber ich frage mich - wo setze ich eigentlich den Superpom ein, damit meine Projektpoms darauf verweisen können? Geht es irgendwo in das Repository? Wenn ja, wo?
Danke, Jeff
Mein Vorschlag ist, dass Sie ein Eltern-POM erstellen, von dem Ihre Projekte Ihre Einstellungen ableiten können. Dieses Eltern-POM ist einfach ein anderes Maven 2-Projekt, aber mit dem Typ "Pom" anstelle von "Jar".
Sie könnten beispielsweise ein Eltern-Pom wie folgt haben:
%Vor%Und ein Kind des Projekts könnte so aussehen:
%Vor%Alles, was Sie im übergeordneten POM deklarieren, ist jetzt im untergeordneten Pom verfügbar. In diesem Beispiel wird dem untergeordneten Projekt automatisch die JUnit-Abhängigkeit zur Verfügung gestellt. Auf diese Weise wird auch sichergestellt, dass die Umgebung automatisch berechnet wird, als wenn jeder Entwickler mit dem Super-POM seiner Maven-Installation herumspielen müsste.
Sie haben wahrscheinlich Recht, ein Super-Pom ist der Weg in dieser Situation. Wofür Sie es verwenden, müssen Sie ein lokales Maven-Repository erstellen und den Entwicklern Zugriff darauf geben. Hier sind einige nützliche (und kostenlose) Programme:
Sobald Sie ein Repository zum Laufen gebracht haben, muss jeder Entwickler seine settings.xml ändern, um auf den neuen Repository-Server zu verweisen, den Sie eingerichtet haben. Der Super-Pom, den Sie erstellen, wird im Repository bereitgestellt, sobald er für die Verwendung konfiguriert wurde, zieht Maven den Super-Pom automatisch herunter.
Hier ist ein Beispiel für eine Artefakt-generierte Datei settings.xml:
%Vor%