Struktur Proyek Maven
POM, siklus hidup, dan dependensi.
Struktur Proyek Maven adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.
Struktur Proyek Maven
Maven adalah alat pembangunan dan pengelola dependensi yang berlandaskan satu prinsip: konvensi daripada konfigurasi. Ikuti tata letak standarnya dan sebagian besar hal akan berfungsi dengan hampir tanpa penyiapan. Pelajaran ini membahas tata letak, POM, dan pengelolaan dependensi.
Tata Letak Direktori Standar
Maven mengharapkan struktur tetap:
src/main/java— kode sumber produksi.src/main/resources— sumber daya produksi.src/test/java— kode sumber pengujian.target/— keluaran pembangunan (dibuat otomatis).
POM
Inti proyek Maven adalah pom.xml — Model Objek Proyek. POM ini mendeklarasikan koordinat, dependensi, pengaya, dan pengaturan pembangunan dalam XML.
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
</project>Koordinat: GAV
Setiap artefak diidentifikasi oleh groupId, artifactId, dan version (GAV). Koordinat ini memberikan nama unik untuk proyek Anda dan setiap dependensi yang Anda tambahkan.
Mendeklarasikan Dependensi
Dependensi dicantumkan di dalam <dependencies>. Maven mengunduhnya, beserta dependensi transitifnya, dari repositori seperti Maven Central ke tembolok lokal.
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>Cakupan Dependensi
Cakupan mengontrol kapan suatu dependensi berada di jalur kelas:
- kompilasi — di semua tempat (bawaan).
- disediakan — hanya saat kompilasi; disediakan oleh wadah saat berjalan.
- saat berjalan — saat berjalan dan dalam pengujian, bukan saat kompilasi.
- pengujian — hanya untuk kompilasi dan pelaksanaan pengujian.
Dependensi Transitif
Jika A bergantung pada B dan B bergantung pada C, Maven memberikan C kepada Anda secara otomatis — inilah transitivitas. Ketika versi mengalami konflik, Maven menyelesaikannya berdasarkan definisi terdekat dalam pohon dependensi.
Siklus Hidup Pembangunan
Maven mendefinisikan siklus hidup fase yang berurutan. Siklus hidup bawaan mencakup, sesuai urutan: validate, compile, test, package, verify, install, deploy. Menjalankan suatu fase juga menjalankan semua fase sebelumnya.
Perintah Umum
mvn compile— mengompilasi sumber utama.mvn test— menjalankan pengujian unit.mvn package— membangun JAR/WAR ke dalamtarget/.mvn install— menyalin artefak ke repositori lokal Anda agar dapat digunakan oleh proyek lain.
Repositori Lokal
Artefak yang diunduh disimpan dalam tembolok di ~/.m2/repository. Pembangunan berikutnya menggunakan kembali tembolok tersebut, sehingga tidak perlu mengunduh ulang. mvn install menempatkan artefak Anda sendiri di sana agar proyek sejawat dapat bergantung padanya.
Proyek Multi-Modul
POM induk dengan <packaging>pom</packaging> dapat mencantumkan anak <modules>. Maven membangunnya berdasarkan urutan dependensi, sehingga sistem besar dapat berbagi konfigurasi dan versi dari satu tempat.
Pemeriksaan Singkat
Uji pemahaman Anda tentang struktur Maven.
Ringkasan
Anda telah mempelajari dasar-dasar Maven:
- Konvensi daripada konfigurasi dengan tata letak standar
src/main/java. - POM mendeklarasikan koordinat GAV, dependensi, dan pengaya.
- Cakupan (kompilasi, disediakan, saat berjalan, pengujian) mengontrol visibilitas jalur kelas.
- Dependensi bersifat transitif; konflik diselesaikan berdasarkan definisi terdekat.
- Siklus hidup yang berurutan berarti suatu fase menjalankan semua fase sebelumnya.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Struktur Proyek Maven” gratis?
Ya — teks lengkap “Struktur Proyek Maven” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Struktur Proyek Maven”?
POM, siklus hidup, dan dependensi. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Struktur Proyek Maven” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Struktur Proyek Maven
- Plugin dan Tujuan Maven
- Dasar-Dasar Gradle
- Memilih Alat Build