Projek Maven dengan Direktori Pelbagai Sumber

1. Pengenalan

Kita kadang-kadang perlu menggunakan banyak direktori sumber dalam projek Java. Contoh kes biasa apabila terdapat kelas yang dihasilkan secara automatik dan ditempatkan di direktori yang berbeza.

Dalam artikel pendek ini, kami akan menunjukkan cara menyediakan Maven untuk berfungsi dengan direktori sumber tambahan .

2. Menambah Direktori Sumber Lain

Dengan andaian bahawa kita sudah membuat proyek Maven, mari tambahkan direktori sumber baru yang disebut another-src dalam folder src / utama .

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

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

Mari sekarang buat kelas lain di direktori src / main / java kami yang menggunakan kelas Foo yang baru kami buat:

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

Struktur projek kami kini kelihatan seperti ini:

Sekiranya kami cuba menyusun projek ini dengan Maven, kami mendapat ralat penyusunan kerana kelas Foo tidak termasuk dalam projek:

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

3. Menggunakan Builder Helper Plugin

Dengan Maven, kita dapat menggunakan pemalam Builder Helper untuk menambahkan lebih banyak direktori sumber. Plugin ini membolehkan kita menyesuaikan kitaran hidup build dengan cara yang berbeza.

Salah satu tujuannya adalah sumber tambah , yang bertujuan untuk menambahkan lebih banyak direktori src ke projek semasa fasa menghasilkan sumber .

Kami boleh menggunakannya dalam projek 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 boleh didapati di Maven Central.

Sekiranya kita menyusun sekarang projek kita, binaannya berjaya.

4. Kesimpulan

Kami telah melihat dalam artikel ini cara menyiapkan plugin Builder Helper Maven untuk berfungsi dengan banyak direktori src dalam projek Maven.

Seperti biasa, kod sumber penuh contoh terdapat di GitHub.