CodeGym /Java Blog /Acak /Bagian 4. Dasar-dasar Maven
John Squirrels
Level 41
San Francisco

Bagian 4. Dasar-dasar Maven

Dipublikasikan di grup Acak
Materi ini merupakan bagian dari seri "Pengantar Pengembangan Usaha". Artikel sebelumnya: Bagian 4. Dasar-dasar Maven - 1Maven adalah alat untuk mengelola dan membangun proyek — asisten pemrogram Java yang sangat membantu. Itu membuat hidup lebih mudah bagi pengembang di setiap tahap pekerjaan: mulai dari membuat struktur proyek dan menghubungkan pustaka yang diperlukan hingga menerapkan produk di server. Anda harus menggunakan Maven saat bekerja dengan framework apa pun. Jadi, hari ini mari kita lihat fungsi utamanya dan lihat cara menggunakannya.

Instalasi Maven langkah demi langkah

  1. Pertama, kita perlu menginstal Maven. Unduh dari tautan ini .

  2. Selanjutnya, unzip arsip yang diunduh dan atur variabel lingkungan M2_HOME ke lokasi arsip yang telah dibuka zipnya. Misalnya, C:\\Program Files\\maven\\

  3. Untuk memastikan semuanya terinstal, jalankan yang berikut ini di baris perintah:

    mvn -versi

  4. Jika informasi versi untuk Maven, Java, dll. ditampilkan, maka semuanya siap digunakan.

  5. Sekarang buka IntelliJ IDEA dan buat proyek baru. Di jendela pertama, pilih Maven:

    Bagian 4. Dasar-dasar Maven - 2
  6. Klik "Berikutnya" dan isi jendela yang muncul:

    Bagian 4. Dasar-dasar Maven - 3
  7. Kemudian, seperti biasa, buat proyek di mana pun Anda mau.

    Setelah proyek dibuat, perhatikan strukturnya:

    Bagian 4. Dasar-dasar Maven - 4
Ini adalah struktur standar proyek Maven :
  • folder src/main/java berisi kelas-kelas Java
  • folder src/main/resources berisi sumber daya yang digunakan oleh aplikasi (halaman HTML, gambar, style sheet, dll.)
  • folder src/test adalah untuk tes
Perhatikan juga file bernama pom.xml . Ini adalah file utama untuk mengelola Maven . Seluruh deskripsi proyek terdapat di sini. Tidak terlalu banyak informasi saat ini, tetapi kami akan menambahkannya sekarang.

Mengelola dependensi di Maven

Anda mungkin menemukan ungkapan "manajer ketergantungan". Maven tahu cara mengelola dependensi. Berkat Maven, Anda tidak perlu menghabiskan banyak waktu mencari perpustakaan yang diperlukan di Internet, mengunduhnya, lalu menghubungkannya ke proyek Anda. Sebagai gantinya, Anda cukup menambahkan pustaka yang diperlukan ke daftar dependensi di Maven.

Dependensi ditentukan dalam node dependensi file pom.xml

Katakanlah Anda memerlukan pustaka IO Apache Commons di proyek Anda untuk menyederhanakan bekerja dengan file. Untuk menambahkan perpustakaan, kami menulis lima baris di pom.xml:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Sekarang file pom.xml Anda akan terlihat seperti ini:

  <?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Setelah itu, izinkan IntelliJ IDEA untuk mengimpor dependensi (dialog akan muncul di pojok kanan bawah). Sekarang perpustakaan siap digunakan:

import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Semua dependensi selanjutnya juga harus ditulis di dalam <dependencies>tag. Anda mungkin bertanya-tanya bagaimana cara mengetahui informasi tentang perpustakaan yang perlu Anda tunjukkan di dalam tag <dependency>. Itu mudah. Tiga parameter selalu perlu disetel: "groupId", "artifactId", dan "version". Ada dua cara untuk menentukan parameter ini:
  1. Di situs web perpustakaan. Jika kami membutuhkan perpustakaan Apache Commons IO, buka situs web resmi dan pilih tab "Informasi Ketergantungan". Semua informasi yang diperlukan ada di sini — Anda cukup menyalinnya dan menambahkannya ke node <dependencies>.

  2. Dalam repositori Maven . Masukkan "apache commons io" di bilah pencarian dan Anda akan melihat semua versi perpustakaan yang tersedia. Setelah memilih yang benar, cukup salin yang berikut ini:

    
    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>
    

    dan tambahkan ke pom.xml Anda.

Jenis repositori Maven

Penting bagi kami untuk menyebutkan repositori Maven lagi, karena kami sebenarnya memiliki dua di antaranya: repositori jarak jauh (pusat) dan repositori lokal (di komputer Anda). Semua perpustakaan yang Anda tambahkan ke proyek Anda disimpan di repositori lokal. Saat Maven menambahkan dependensi yang diperlukan ke sebuah proyek, pertama-tama ia akan memeriksa apakah pustaka sudah ada di repositori lokal. Itu mengakses repositori jarak jauh hanya jika tidak menemukan perpustakaan secara lokal. Seperti yang Anda lihat, Anda dapat menggunakan Maven untuk menambahkan dependensi, tetapi tidak hanya itu yang dapat dilakukannya.

Membangun proyek Java menggunakan Maven

Kemampuan ini mungkin tampak tidak berguna bagi seorang pemula. Mengapa kita membutuhkan ini jika kita memiliki IDE? Mari saya jelaskan. Pertama, server tempat Anda membangun aplikasi mungkin tidak memiliki lingkungan pengembangan atau antarmuka grafis. Kedua, pada proyek besar, Maven melakukan pekerjaan yang lebih baik dalam membangun proyek. Jadi tanpa basa-basi lagi, kami akan mempertimbangkan proses pembuatan aplikasi menggunakan Maven.

Fase

Proses membangun aplikasi dikenal sebagai siklus hidup proyek Maven, dan terdiri dari beberapa fase. Anda dapat melihatnya di IDEA dengan mengklik Maven > contoh > Daur Hidup di pojok kanan atas: Bagian 4. Dasar-dasar Maven - 5Seperti yang Anda lihat, ada 9 fase:
  1. bersih - menghapus semua file yang dikompilasi dari direktori target (tempat menyimpan artefak yang sudah selesai)
  2. validasi — memeriksa apakah semua informasi yang diperlukan untuk membangun proyek ada
  3. kompilasi — mengkompilasi file kode sumber
  4. tes - memulai tes
  5. package — mengemas file yang dikompilasi (dalam arsip JAR, WAR, dll.)
  6. verifikasi — memeriksa apakah file paket sudah siap
  7. instal — tempatkan paket di repositori lokal. Sekarang dapat digunakan oleh proyek lain sebagai perpustakaan eksternal
  8. situs — membuat dokumentasi proyek
  9. deploy — menyalin arsip yang dibuat ke repositori jarak jauh
Semua fase dilakukan secara berurutan: misalnya, fase keempat tidak dapat dimulai hingga fase 1-3 selesai. Ada dua cara untuk memulai fase:
  • melalui baris perintah:

    paket mvn

    Bagian 4. Dasar-dasar Maven - 6
  • menggunakan IntelliJ IDEA:

    Bagian 4. Dasar-dasar Maven - 7

    Sebelum fase paket dimulai, fase validasi, kompilasi, dan pengujian dilakukan. Fase bersih adalah pengecualian. Sebaiknya jalankan fase ini sebelum setiap pembuatan proyek. Anda dapat membuat daftar beberapa fase, memisahkannya dengan spasi:

    paket bersih mvn.

Selain itu, setiap fase memiliki fase sebelum dan sesudah: misalnya, pra-penerapan, pasca-penerapan, pra-pembersihan, pasca-pembersihan, dll. tetapi jarang digunakan. Selain itu, setiap fase memiliki tujuan. Sasaran standar ditetapkan secara default. Tujuan tambahan ditambahkan oleh plugin Maven. Terkadang selama fase, Anda mungkin perlu melakukan fungsi tambahan. Ada plugin Maven untuk ini. Daftar plugin resmi dapat ditemukan di situs web Maven . Tetapi Anda harus tahu bahwa ada banyak plugin khusus yang dapat ditemukan di situs web pihak ketiga. Dan tentu saja, jika ada kebutuhan eksotis yang muncul, Anda selalu dapat menulis plugin khusus sendiri .

Plugin

Untuk menambahkan plugin Maven ke proyek, kita perlu menambahkan deskripsinya ke file pom.xml, menggunakan <build>dan <plugins>memberi tag, mirip dengan cara kita menambahkan dependensi. Misalnya, kita memerlukan plugin untuk memverifikasi bahwa kita menggunakan versi terbaru dari semua pustaka eksternal kita. Setelah sedikit mencari di Internet, Anda dapat menemukan plugin ini dan petunjuk tentang cara menggunakannya. Mari atur groupId, artifactId, dan versi. Kami akan menunjukkan tujuan apa yang harus dipenuhi plugin dan pada fase apa. Dalam kasus kami, pemeriksaan ketergantungan di pom.xml saat ini diatur untuk terjadi selama fase validasi. Sekarang file pom.xml kita terlihat seperti ini:

<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Kami dapat terus mengerjakan proyek kami. Tapi mari kita coba mengubah versi Apache Commons IO menjadi 2.0 dan membangun proyeknya. Kita akan mendapatkan

[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
Di sini kami memiliki kesalahan build yang dihasilkan oleh plugin. Pesan kesalahan menyatakan bahwa kami menggunakan versi 2.0 saat versi 2.6 tersedia. Pada dasarnya, Maven adalah alat yang sangat berguna. Mungkin awalnya akan terasa sulit untuk digunakan, tetapi berlatihlah! Buat proyek Anda menggunakan Maven, dan setelah beberapa saat Anda akan sangat senang dengan hasil akhirnya. Artikel ini sengaja menghilangkan banyak detail tentang Maven — kami fokus pada yang paling penting. Tetapi tidak ada batasan untuk peningkatan: Anda dapat membaca lebih lanjut tentang Maven di situs resminya . Bagian 5. Servlet dan Java Servlet API. Menulis aplikasi web sederhana Bagian 6. Servlet containers Bagian 7. Memperkenalkan pola MVC (Model-View-Controller)
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION