Maven-Projekt mit mehreren Quellverzeichnissen

1. Einleitung

Manchmal müssen in einem Java-Projekt mehrere Quellverzeichnisse verwendet werden. Ein häufiges Fallbeispiel, wenn Klassen vorhanden sind, die automatisch generiert und in einem anderen Verzeichnis abgelegt werden.

In diesem kurzen Artikel zeigen wir, wie Sie Maven für die Arbeit mit zusätzlichen Quellverzeichnissen einrichten .

2. Hinzufügen eines weiteren Quellverzeichnisses

Angenommen, wir haben bereits ein Maven-Projekt erstellt, fügen wir im Ordner src / main ein neues Quellverzeichnis mit dem Namen another-src hinzu.

Danach erstellen wir eine einfache Java-Klasse in diesem Ordner:

public class Foo { public static String foo() { return "foo"; } }

Erstellen wir jetzt eine weitere Klasse in unserem Verzeichnis src / main / java , die die soeben erstellte Foo- Klasse verwendet :

public class MultipleSrcFolders { public static void callFoo() { Foo.foo(); } }

Unsere Projektstruktur sieht jetzt so aus:

Wenn wir versuchen, dieses Projekt mit Maven zu kompilieren, wird ein Kompilierungsfehler angezeigt, da die Foo- Klasse nicht im Projekt enthalten ist:

[ERROR] .../MultipleSrcFolders.java:[6,9] cannot find symbol [ERROR] symbol: variable Foo [ERROR] location: class com.baeldung.maven.plugins.MultipleSrcFolders

3. Verwenden des Builder Helper Plugins

Mit Maven können wir das Builder Helper- Plugin verwenden, um weitere Quellverzeichnisse hinzuzufügen. Mit diesem Plugin können wir den Build-Lebenszyklus auf verschiedene Arten anpassen.

Eines seiner Ziele sind die Add-Quellen , mit denen dem Projekt während der Phase der Generierungsquellen weitere src-Verzeichnisse hinzugefügt werden sollen .

Wir können es in unserem Projekt verwenden, indem wir es unserer pom.xml hinzufügen :

 org.codehaus.mojo build-helper-maven-plugin 3.0.0   generate-sources  add-source    src/main/another-src     

Die neueste Version des Plugins finden Sie in Maven Central.

Wenn wir jetzt unser Projekt kompilieren, ist der Build erfolgreich.

4. Fazit

In diesem Artikel erfahren Sie, wie Sie das Builder Helper Maven-Plugin so einrichten, dass es mit mehreren src-Verzeichnissen in einem Maven-Projekt funktioniert.

Wie immer ist der vollständige Quellcode der Beispiele auf GitHub verfügbar.