In meinem J2EE-Pilotprojekt sind die ersten Planungen erledigt und es entsteht schon ein wenig Quellcode. Dabei merke ich aber immer wieder deutlich, dass ich noch viel über die eingesetzten Werkzeuge lernen muss. Zum Beispiel werde ich heute daran arbeiten müssen, Unterprojekte für Maven anzulegen.
Mir war bisher nicht bewusst gewesen, dass ein Projekt nach Maven-Philosophie genau ein "Produkt" liefert und nicht mehr. Da COMATOSE aber aus zahlreichen Teilen, darunter Enterprise Java Beans, Hibernate-Datenobjekte und eine Weboberfläche, bestehen soll, muss ich diese Bausteine sinnvoll in Unterprojekte aufteilen. Erst dann kann Maven sinnvoll eingesetzt werden.
Erst dann kommt auch Mavens Multiproject-Plugin zu voller Geltung, das vom Hauptprojekt aus alle Unterprojekte verarbeiten und zu einem großen Ganzen zusammenfügen kann.
Weil solche Erkenntnisse immer wieder zu einer weitreichenden Umgestaltung der Verzeichnisstruktur des Projekts führen, bin ich sehr froh, Subversion als Software-Repository einzusetzen. Anders als CVS verliert es nämlich nicht die Versionshistorie einer umbenannten oder verschobenen Datei.