Multi Module Build Automation mit Maven

Submodule hinzufügen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Sie sehen in diesem Video, wie Sie einem Elternprojekt Submodule hinzufügen und worauf dabei zu achten ist.

Transkript

In diesem Video möchte ich Ihnen zeigen, wie Sie zu einem bestimmten Projekt, einem POM Elternprojekt weitere Module hinzufügen können. Das geht mit einer IDE, wie NeatBeans sehr einfach. Ich habe hier ein entsprechendes Elternprojekt vorbereitet und hier gibt es eine Kategorie "module" und da kann man durch Rechtsklick ein vorhandenes Modul oder ein neues Modul hinzufügen. Wir werden mal ein neues Modul hinzufügen. Das soll eine Java-Applikation sein. Der Name soll "HelloWorldModule" lauten. Die Group Id ist "com.lynda". Die Version 1.0. Und das Package ergibt sich automatisch. Ich bestätige mit "Finish". Bevor wir uns allerdings jetzt hier diese generierten Strukturen, die Codes, die Verzeichnisse ansehen, füge ich noch ein weiteres Modul schnell hinzu. Das mache ich auf die gleiche Art und Weise. Das soll einen Benutzernamen entgegen nehmen. Dadurch ist der Name "GetNameModule" nahliegend. Das wähle ich hier einfach mal und ich bestätige auch hier mit "Finish". Ist Ihnen aufgefallen, dass in der POM-XML-Datei im Elternprojekt Änderungen aufgetaucht sind? Sobald ich ein Modul hinzugefügt habe, es sind hier Module eingetragen worden, das heißt, es hat eine Aktualisierung dieser Datei des Elternprojektes stattgefunden zum Zeitpunkt, wo ich ein neues Modul hinzugefügt habe. Und hier stehen die Namen der Module, die ich gerade erzeugt habe. Man sieht wieder die Vorteile einer mächtigen IDE, wie Neatbeans. Ihnen sollte auch aufgefallen sein, dass hier bei den Projekten die beiden als Modul eingebundenen Projekten natürlich jetzt auch auftauchen. Das ist mein Elternprojekt und das sind die beiden Module, die hier referenziert werden. Schauen wir uns mal das Source Packages von dem "getname"-Projekt an. Wir haben hier eine Package-Struktur, und die ist derzeit noch leer. Und da fügen wir eine neue Java Class hinzu, also rechte Maustaste New Java Class. Der Klassenname soll "GetNameClass" lauten. Ich habe ein bisschen gezaubert. Ich habe hier vollkommen irrelevant für das Training JavaCode hinzugefügt, der von einer Befehlszeile einfach Daten entgegnen. Das ist pures Java. Sollten Sie kennen, spielt keine Rolle für Maven, und damit wollen wir uns jetzt aufhalten. Fügen wir jetzt bei dem Projekt "HelloWorldModule" eine neue Klasse hinzu, genauso wie eben. Allerdings möchte ich jetzt hier eine Main Class haben, und da gibt es die Möglichkeit, hier Java Main Class auszuwählen. Dann wird schlicht und einfach eine Main-Methode automatisch mitgeneriert. Eine Kleinigkeit, aber wir können uns die Sache hier bequem machen. Die Klasse soll "HelloWorldClass" heißen. Und Sie sehen, ich habe hier bereits eine Main-Methode mitgeneriert. Mehr ist da noch nicht drin. Nun möchte ich hier in der Main-Methode ganz einfach etwas ausgeben, was ich über die Methode "GetName" aus der Klasse "GetNameClass" auslese. Das heißt, wenn ich hier einfach mal ein "System.out.println" mache, dann könnte ich hier mal Folgendes probieren: "(GetNameClass.getName)". Wir haben hier eine Klassenmethode, und deswegen können wir direkt über die Klasse arbeiten. Ich bekomme aber einen Fehler. Was ist los? Ganz klar. Wir sind in verschiedenen Projekten, in verschiedenen Verzeichnissen, das sehen Sie hierher. Ich brauche einen Import. Ganz trivial. Also wir brauchen einen import com.lynda.getnamemodule.GetNameClass. Speichern. Wir hätten hier auch einen Stern statt "GetNameClass" verwenden können. Das Problem ist, wir haben weiter einen Fehler. Was ist los? Nun, wir sind hier in einem Maven-Umfeld, und dieses GetNameClass ist eine Abhängigkeit für die GetHelloWorldClass. Wir haben ein dependendes File hier vorliegend, aber noch nichts dazu überhaupt spezifiziert. Wo legt man sowas fest? In der XML-Datei, in der pom.xml-Datei. Da haben wir die Möglichkeit, die Abhängigkeit zu definieren. Schauen wir uns also hier diese pom.xml-Datei mal an. Unterhalb von den Properties werden wir eine neue Abhängigkeitsdefinition notieren. "dependencies", "dependency" und hier geben wir dann die Group Id ein von dem Modul, dem Projekt, worauf wir uns beziehen: com.lynda. Dann brauchen wir die Artifact Id, und zwar die von dem getNameModule und zum Vervollständigen der Eindeutigkeit brauchen wir wie üblich die Version und das war 1.0. Jetzt ein bisschen mehr noch "dependency" schließen und "dependencies". Schauen wir nochmal schnell, ob auch alles stimmt. Nein, denn die Artifact Id muss großgeschrieben werden. Das hätte mir NeatBeans auch sonst hier in der Hilfe angezeigt, Groß- und Kleinschreibung spielt eine Rolle. Speichern wir alles. Und nun verschwinden ganz offensichtlich hier bereits diese Fehler. Es ist immer eine sehr gute Idee, die Projekte nochmal zu bereinigen, das heißt, man geht hier auf "Clean" und bereinigt entweder Projekt für Projekt oder alle zusammen und erstellt diese Projekte gegebenenfalls auch nochmal neu. Sie haben also in diesem Video gesehen, wie man grundsätzlich zu einem POM Elternprojekt weitere Module hinzufügen kann und worauf zu achten ist, gegebenenfalls, Abhängigkeiten spezifizieren, ansonsten kann man einfach über das Hinzufügen von einem Submodul in eine moderne IDE ganz einfach diese Projekte und Submodule erweitern.

Multi Module Build Automation mit Maven

Nutzen Sie mit diesen Techniken Maven optimal für Ihre Projekte.

55 min (17 Videos)
Derzeit sind keine Feedbacks vorhanden...
Exklusiv für Abo-Kunden
Erscheinungsdatum:24.01.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!