Proyek Maven dengan Beberapa Direktori Sumber

1. Perkenalan

Terkadang kita perlu menggunakan beberapa direktori sumber dalam proyek Java. Contoh kasus umum ketika ada kelas yang dibuat secara otomatis dan ditempatkan di direktori yang berbeda.

Dalam artikel singkat ini, kami akan menunjukkan cara menyiapkan Maven untuk bekerja dengan direktori sumber tambahan .

2. Menambahkan Direktori Sumber Lain

Dengan asumsi kita memiliki proyek Maven yang sudah dibuat, mari tambahkan direktori sumber baru bernama another-src di folder src / main .

Setelah itu, mari buat kelas Java sederhana di dalam folder ini:

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

Sekarang mari kita buat kelas lain di direktori src / main / java yang menggunakan kelas Foo yang baru saja kita buat:

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

Struktur proyek kami sekarang terlihat seperti ini:

Jika kami mencoba mengompilasi proyek ini dengan Maven, kami mendapatkan kesalahan kompilasi karena kelas Foo tidak termasuk dalam proyek:

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

3. Menggunakan Plugin Builder Helper

Dengan Maven, kita dapat menggunakan plugin Builder Helper untuk menambahkan lebih banyak direktori sumber. Plugin ini memungkinkan kita menyesuaikan siklus hidup build dengan berbagai cara.

Salah satu tujuannya adalah add-sources , yang dimaksudkan untuk menambahkan lebih banyak direktori src ke proyek selama fase generate-sources .

Kami dapat menggunakannya dalam proyek kami dengan menambahkannya ke pom.xml kami :

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

Versi terbaru plugin dapat ditemukan di Maven Central.

Jika sekarang kita mengompilasi proyek kita, pembangunan berhasil.

4. Kesimpulan

Kita telah melihat di artikel ini cara menyiapkan plugin Builder Helper Maven untuk bekerja dengan beberapa direktori src dalam proyek Maven.

Seperti biasa, kode sumber lengkap dari contoh tersedia di GitHub.