Ich habe vor kurzem angefangen, an einem Projekt mit etwa 40 anderen Entwicklern zu arbeiten. Wir verwenden OSGi zusammen mit Apache Felix. Wir bauen und deployen mit Maven und dem maven-pax-plugin. OSGi und pax sind für mich beide sehr neu, daher kenne ich keine Details zur Projekt-Setup.
Um auf meine eigene Maschine zu deployen, verwende ich die Befehle
mvn clean install
mvn pax:provision
Der Befehl pax:provision startet pax-runner und die letzten Zeilen im Log sind:
-> Bereitstellen des Bundles [...., auf Standardstartebene, Bundle wird gestartet, Bundle wird aus dem Cache geladen]
-> Vorbereitung des Frameworks [Felix 4.0.3]
-> Herunterladen der Bundles...
-> Verwendung der Ausführungsumgebung [KEINE]
-> Der Runner hat seine Arbeit erfolgreich beendet!
Hören auf Transport dt_socket an Adresse: 5005
Auf einigen der verwendeten PCs dauert es etwa 30 Sekunden bis 1 Minute, nachdem diese Zeile erscheint, bis Apache Felix startet und die Anwendung über einen Browser erreichbar ist. Auf dem PC meines Kollegen dauert dies jedoch etwa 8-9 Minuten und bei mir etwa 16 Minuten.
In diesen 16 Minuten gibt es keine übermäßige CPU-Auslastung oder Netzwerkverkehr. Es scheint, als ob nichts passiert.
Ich habe versucht, das Logging-Level auf Debug zu ändern, was mir eine Menge Informationen über den pax-runner liefert, aber nach der Zeile 'Hören auf Transport dt_socket...' ist es 16 Minuten lang ruhig. In dieser Zeit kann ich meinen Remote-Debugger (IntelliJ) mit dem Server verbinden, also muss etwas laufen.
Keiner meiner Kollegen scheint zu wissen, was in dieser Zeit passiert, und warum es bei uns beiden so lange dauert, aber bei anderen Personen so schnell geht. Auch Google gibt mir keine Hinweise, deshalb dachte ich, ich frage hier.
Es handelt sich um ein ziemlich kompliziertes Projekt-Setup, daher möchte ich Stück für Stück programmieren und viel testen, aber 16 Minuten auf eine kleine Änderung zu warten, bremst natürlich die Produktivität.
Ich hoffe, jemand kann mir bei diesem Problem helfen. Vielen Dank!