Apache Maven — Singkatnya
Jika Anda seorang Pengembang Java, aktivitas sehari-hari Anda saat mengerjakan proyek Anda meliputi — Menulis kode, Mengkompilasi kode, Menguji kode, Mengemasnya dalam bentuk artefak seperti toples atau file perang , lalu menerapkannya artefak ke server web.
Ada banyak tugas yang harus Anda tangani secara manual dan tentu saja, Anda dapat mengotomatiskan tugas-tugas ini menggunakan pustaka bernama Apache Maven
Pada artikel ini, kita akan memahami apa itu Apache Maven dan bagaimana Anda dapat menggunakannya secara efektif untuk membangun dan mengelola proyek java Anda
Pertama, mari kita pahami dasar-dasar maven
Apa itu Maven?
Maven adalah alat manajemen proyek yang dikembangkan untuk membantu, mengelola proyek yang dikembangkan menggunakan bahasa JVM seperti Java, dan Scala. Tugas utama alat manajemen proyek meliputi,
- Membangun kode sumber
- Menguji kode sumber
- Pengemasan ke dalam toples, perang atau kuping
- Menghasilkan dokumen java
- Kelola dependensi
Sekarang, mari lanjutkan lebih jauh dan lihat cara menginstal Maven di mesin kita.
- Buka https://maven.apache.org/ di browser Anda
- Buka bagian unduhan dan unduh folder zip versi maven terbaru dan ekstrak
- Setel variabel jalur lingkungan Tambahkan JAVA_HOME dan MAVEN_HOME
- Tambahkan jalur maven di variabel lingkungan. mis: F:\apache-maven-3.6.3-bin\apache-maven-3.6.3\bin
Repositori Maven:
Repositori Maven adalah direktori file jar yang dikemas dengan pom.xml. Maven mencari dependensi di repositori. Ada tiga jenis repositori maven.
- Repositori Lokal
- Repositori Pusat
- Repositori Jarak Jauh
Juga, kita dapat mengubah lokasi repositori lokal di file settings.xml, yang terletak di MAVEN_HOME/conf/settings.xml Contoh: E:\apache-maven-3.1.1\conf\settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
</settings>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>e:/mavenlocalrepository</localRepository>
</settings>
Repositori pusat berisi banyak perpustakaan umum yang dapat dilihat oleh URL inihttp://search.maven.org/#browse.
Repositori Jarak Jauh Maven: Repositori jarak jauh Maven terletak di web. Beberapa perpustakaan mungkin hilang dari repositori pusat seperti perpustakaan JBoss dll, jadi kita perlu mendefinisikan repositori jarak jauh di file pom.xml.
Struktur Proyek Maven:
Sekarang mari kita pahami struktur proyek Maven. Saat Anda membuat proyek maven, Anda akan melihat folder bernama
- src — sumber — yang merupakan akar dari kode sumber aplikasi kami dan pengujian unit aplikasi
- src/main/java — yang berisi kode sumber aplikasi kita, semua kode produksi yang kita tulis ke aplikasi kita ada di dalam folder ini
- src/main/resources — tempat kami menyimpan semua file statis, yang kami gunakan dalam proyek kami. contoh application.properties , file XML, file CSV dll
- Jika Anda sedang mengembangkan aplikasi web, maka semua file html dan javascript akan berada di bawah folder ini
- src/test/java — di sini, tempat kita menulis unit test, dan integration test untuk aplikasi kita
- pom.xml — berisi metadata dependensi proyek
- target — di folder ini maven menyimpan semua file kelas java yang dikompilasi
POM berisi metadata proyek dan juga bertanggung jawab untuk mengelola dependensi untuk mengonfigurasi plugin yang membantu kami mengotomatiskan banyak tugas berulang, berikut adalah pom.xml dasar
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.maven.application</groupId>
<artifactId>my-app</artifactId>
<version>1</version>
</project>
- versi model — versi model akan selalu disetel ke 4.0.0 kecuali jika Anda mengubahnya ke versi maven lain. Misalnya versi yang lebih tinggi di atas 3.0
- File pom sederhana
- File superpom
- File pom yang efektif
File super pom: Anda dapat menemukan file super pom di direktori instalasi maven, di bawah path lib. Dan di dalam file jar — maven-model-builder, kita bisa menemukan sebuah paket bernama org
File pom yang efektif: File pom yang efektif tidak lain adalah kombinasi dari file pom sederhana dan super pom. Ini hanyalah cara memeriksa semua informasi file pom.xml hanya di satu tempat. Untuk melihat file pom yang efektif, buka tipe terminal maven
mvn-help: effective-pom
Maven memiliki dua jenis ketergantungan
- Ketergantungan snapshot: ketergantungan snapshot berarti proyek yang sedang dalam pengembangan aktif dan tidak stabil.
- Ketergantungan rilis: setelah proyek selesai maka dirilis
Kami dapat mengontrol visibilitas ketergantungan maven menggunakan cakupan ketergantungan. Ada 5 jenis cakupan
- Kompilasi: Ini adalah cakupan default untuk semua dependensi dan dependensi yang ditandai dengan kompilasi tersedia di dalam classpath proyek
- Disediakan: ketergantungan yang menyediakan ruang lingkup akan disediakan pada saat dijalankan baik oleh jdk atau server web
- Runtime: seperti namanya, ketergantungan yang ditandai dengan runtime hanya tersedia saat runtime tetapi tidak pada waktu kompilasi.
- Tes: dependensi ini hanya tersedia pada saat penulisan dan pelaksanaan tes.
- Cakupan sistem: ini mirip dengan cakupan yang disediakan tetapi satu-satunya perbedaan adalah kami secara eksplisit menyebutkan di mana kami dapat menemukan ketergantungan dalam sistem. Alih-alih JDK atau server web yang menyediakan ketergantungan ini saat runtime, kami menyediakan jalur sistem tempat pakar dapat menemukan ketergantungan ini. Kami dapat menyediakan jalur menggunakan jalur sistem
Siklus hidup build Maven dibagi menjadi 3 langkah berbeda:
- Default — sebagai bagian dari langkah ini pakar melakukan banyak tugas,
- maven membaca pom.xml dan memvalidasi apakah kita memiliki xml yang valid atau tidak.
- Kemudian maven akan mengkompilasi kode sumber kami dan membuat file kelas dan menyimpannya di folder target.
- Kemudian pada tahap pengujian, sebagai bagian dari pengujian, pakar menjalankan pengujian unit di dalam proyek.
- paket — sebagai bagian dari paket, maven mengemas kode sumber menjadi artefak pilihan kita seperti file jar atau perang atau telinga atau zip
- tes integrasi — jika proyek kami berisi tes integrasi dan dijalankan
- verifikasi — pakar memeriksa tes integrasi, yang berjalan pada fase sebelumnya berhasil atau tidak
- instal — maven akan menginstal paket yang dibuat ke dalam repositori lokal
- deploy - setelah instalasi, maven akan menerapkan ke repositori jarak jauh.
2. Bersihkan: langkah ini terutama bertanggung jawab untuk membersihkan kelas java yang dikompilasi atau metadata yang dihasilkan. Contoh: mvn clean install
3. Situs: Ini bertanggung jawab untuk menghasilkan dokumentasi java yang ada di dalam proyek kami.
Maven menyederhanakan proses pembuatan dengan cara yang jauh lebih canggih. Saya harap Anda belajar dan mendapatkan beberapa poin untuk dipahami tentang Apache Maven.
Terima kasih telah membaca artikel ini. Silakan bertepuk tangan, berbagi, dan berkomentar. itu akan mendorong saya untuk menulis lebih banyak artikel seperti itu. Bagikan saran Anda yang berharga, saya menghargai umpan balik jujur Anda!!!
Pertanyaan Wawancara Berbasis Java8 Stream yang Paling Sering Ditanyakan — Bagian 1 Cara termudah untuk Mengakses Database di JAVA Menangkap Beberapa Pengecualian Dalam Pengodean Java: Temukan Nomor Fibonacci ke-n di JavaScript Situs Nyata yang membayar $50 hingga $100 per Jam untuk Mengoreksi Buku, Menyusun, dan Multiprosesing di Python Dijelaskan
![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































