2012-06-19 4 views
8

Ich möchte Module über einen Aggregator erstellen, aber vermeiden, dass das Aggregatorprojekt selbst erstellt wird. In meinem Anwendungsfall ist der Aggregator ein Dummy-Wrapper, der einfach zum Gruppieren eines Builds verwendet wird und als eigenständiges Projekt keine Bedeutung hat.In Maven wie baue ich die Module, aber nicht das Aggregator-Projekt selbst?

Ist es möglich, den Aggregator irgendwie aus dem Reaktor zu entfernen?

+0

Es gibt nichts in einem pom-Projekt zu erstellen ist. Es gibt also wenig Overhead. Was ist dein tatsächliches Problem? –

+0

Ich erstelle mein eigenes rekursives lokales Build-Plugin, das ein intermediäres pom.xml erstellt, das Module für (rekursiv) -SNAPSHOT-interne Abhängigkeiten enthält. Ich möchte nicht, dass der Wrapper Pom in der Log-Ausgabe erscheint und die Benutzer meines Plugins verwirrt –

Antwort

11

AFAIK gibt es keine Möglichkeit, das zu tun. Aber ich glaube, Ihr wirkliches Problem besteht darin, dass dieses Aggregatorartefakt zusammen mit anderen Modulen im Remote-Repository bereitgestellt wird, und es macht keinen Sinn, wie Sie gesagt haben. Was ich empfehlen ist dann <skip>true</skip> für maven-deploy-plugin in Aggregator zu setzen pom.xml seine deploy zu deaktivieren, wie folgt aus:

<plugin> 
    <artifactId>maven-deploy-plugin</artifactId> 
    <configuration> 
    <skip>true</skip> 
    </configuration> 
</plugin> 

Unterstützung beginnt in <version>2.4</version> ref deploy-mojo install-mojo

+0

Danke, das ist nützlich –

+0

Sehr, sehr schlecht. Tu das nicht! Ihre Module hängen von ihren Eltern ab. Wenn ein Client Ihre Module zieht, benötigt er dessen Eltern. Es wird nicht funktionieren, weil der Elternteil nicht von Ihrem Repo gelöst werden kann. Außerdem wird die Konfiguration dieses Plugins vererbt. Solch eine Konfiguration sollte sehr sehr weise gemacht werden. –

+11

Wir reden hier über Aggregator Module, nicht Eltern. Aggregator normalerweise == Eltern, aber nicht immer! –

Verwandte Themen