2016-04-15 6 views
0

Ich bin auf der Suche nach einer Möglichkeit, um den Wiederaufbau in Eclipse zu beschleunigen.Optimieren der Maven-Builds in Eclipse mit mehreren Projekten

Einige Hintergrund: Wir haben ein relativ großes Projekt, etwa 177 Pom-Dateien insgesamt, etwa 150 Maven-Module. Der vollständige Aufbau ohne den Test dauert etwa 15-20 Minuten, mit Tests - in der Nähe von 6 Stunden. Welches ist ein PITA beim Debuggen oder Refektorieren? Wir haben mehrere aktive Zweige (und müssen öfter zwischen ihnen wechseln, manchmal mehrmals am Tag). Lokale Zweige sind immer X.X-SNAPSHOT-Versionen (was wichtig zu sein scheint).

In den meisten Fällen nehmen Sie keine Änderungen an allen Projekten vor, nur wenige arbeiten daran. Es gibt also viel Raum für Optimierung.

Ich denke, mein ideales Szenario wäre, bestimmte Projekte auszuwählen, die aus dem Paket-Repository gezogen werden sollen, und niemals lokal zu bauen, es sei denn, ich sage es ausdrücklich. Kann das erreicht werden?


Dinge, die ich versucht:

  1. nur Teilmenge der Module importieren. Teilweise hilft das, aber maven überprüft immer noch alle Abhängigkeiten, was unweigerlich zur Folge hat, dass die Hälfte der Module im Projekt trotzdem überprüft wird, obwohl sich keines davon geändert hat. Teilerfolg

  2. Nur die Projekte aus der Quellcodeverwaltung auschecken, mit denen ich arbeiten werde. Builds sind blitzschnell, da Maven binäre Abhängigkeiten aus dem Firmen-Repo oder ~/.m2 Cache zieht, anstatt sie zu bauen. Die Arbeit mit SVN und Git wird ziemlich schwierig, weil Sie nicht alle Quellen ausgecheckt haben. Teilerfolg

  3. Automatische Builds deaktivieren und alles über die Befehlszeile mit den Optionen -am -pl erstellen, wobei die aktualisierten Projekte angegeben werden. Hilft, wenn Sie eine große Änderung erstellen müssen (d. H. Nach der Zusammenführung), aber (a) das ist umständlich und (b) wenn Sie automatische Builds erneut aktivieren, werden Sie besteuert.

  4. Vorschlagen, dass wir diese riesige Repo in einzelne Dienste und Basisbibliotheken zerlegen und in verschiedene Quellcode-Repos umziehen. Habe "Ja richtig" vom Management. Wahrscheinlich wird das nicht passieren.

Gibt es noch etwas anderes?

Antwort

0

Nachdem ich eine Weile mit diesen 4 Optionen festgefahren war, fand ich heraus, dass der Wechsel zu Idea und das Herumspielen mit den Maven-Cache-Einstellungen (wörtlich IDE-Cache auf ~/.m2) die Schmerzen etwas erträglicher machte. Dennoch ist die Lösung bei weitem nicht zufriedenstellend. Ich hoffe das hilft.

Verwandte Themen