JavaRush /Java Blog /Random-ID /Bagian 4: Dasar-dasar Maven

Bagian 4: Dasar-dasar Maven

Dipublikasikan di grup Random-ID
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 nyata bagi programmer Java. Ini membuat hidup lebih mudah bagi pengembang di semua tahap pekerjaan: mulai dari pembuatan struktur proyek dan menghubungkan perpustakaan yang diperlukan hingga penerapan produk di server. Saat bekerja dengan kerangka apa pun, Anda harus menggunakan Maven. Jadi mari kita lihat fungsi utamanya hari ini dan bagaimana penggunaannya.

Instalasi Maven langkah demi langkah

  1. Pertama, Anda perlu menginstal Maven dengan mengunduhnya dari tautan ini .

  2. Selanjutnya, Anda perlu membongkar arsip yang diunduh dan mengatur variabel lingkungan M2_HOME ke tautan ke lokasi arsip yang belum dibongkar. Misalnya, C:\Program Files\maven\

  3. Untuk memeriksa apakah semuanya sudah terinstal, tulis di baris perintah:

    versi mvn

  4. Jika informasi versi untuk Maven, Java, dll. ditampilkan, Anda siap berangkat.

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

    Bagian 4. Dasar-dasar Maven - 2
  6. Klik Berikutnya dan isi kotak dialog berikut:

    Bagian 4. Dasar-dasar Maven - 3
  7. Selanjutnya, buat proyek di lokasi yang diperlukan sebagai standar.

    Setelah proyek dibuat, perhatikan strukturnya:

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

Manajemen Ketergantungan di Maven

Anda mungkin pernah menemukan ungkapan “manajer ketergantungan” atau “manajer ketergantungan”. Maven bisa melakukan semuanya. Berkat Maven, Anda tidak perlu menghabiskan banyak waktu mencari perpustakaan yang diperlukan di Internet, mengunduhnya, dan kemudian menghubungkannya ke proyek: cukup tambahkan perpustakaan yang diperlukan ke daftar dependensi Maven. Dependensi ditulis dalam node XML dependensi Katakanlah Anda memerlukan perpustakaan Apache Commons IO di proyek Anda untuk menyederhanakan pekerjaan dengan file. Untuk menambahkan perpustakaan, tulis lima baris di pom.xml:
<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Pom.xml Anda sekarang 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 ini, izinkan IntelliJ IDEA untuk mengimpor ketergantungan (kotak dialog akan muncul di sudut 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 tag <dependencies>. Anda mungkin bertanya-tanya: bagaimana Anda mengetahui informasi apa yang perlu Anda sertakan tentang perpustakaan di dalam tag <dependency>? Semuanya sederhana di sini. Dalam kasus seperti itu, tiga parameter selalu ditentukan: groupId, artefakId, dan versi. Anda dapat mengetahui parameter ini dengan dua cara:
  1. Di situs web perpustakaan. Jika kita membutuhkan Apache Commons IO, buka situs resminya dan pilih tab Informasi Ketergantungan. Semua informasi yang diperlukan ada di sini - Anda cukup menyalinnya dan menambahkannya ke bagian dependensi kami.

  2. Di repositori Maven . Masukkan "apache commons io" dalam pencarian dan Anda akan melihat semua versi perpustakaan yang tersedia. Setelah memilih yang Anda butuhkan, cukup salin:

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

    dan tambahkan ke pom.xml Anda.

Jenis repositori Maven

Perlu disebutkan lagi repositori Maven, karena kami sebenarnya memiliki dua di antaranya - eksternal (global) dan lokal, di komputer Anda. Semua perpustakaan yang Anda tambahkan ke proyek Anda disimpan di repositori lokal. Ketika Maven menambahkan ketergantungan yang diperlukan ke sebuah proyek, pertama-tama ia memeriksa repositori lokal untuk keberadaan perpustakaan tersebut, dan hanya jika ia tidak menemukannya di sana, ia beralih ke perpustakaan eksternal. Seperti yang Anda lihat, Anda bisa menggunakan Maven untuk menambahkan dependensi, tapi bukan hanya itu yang bisa dilakukannya.

Membangun Proyek Java Menggunakan Maven

Fitur ini mungkin tampak tidak ada gunanya bagi seorang pemula. Mengapa ini diperlukan jika ada IDE? Tapi tidak! Pertama, server tempat Anda harus membangun aplikasi mungkin tidak hanya memiliki lingkungan pengembangan, tetapi juga antarmuka grafis. Kedua, pada proyek-proyek besar, Maven mengatasi tugas-tugas perakitan proyek dengan lebih baik. Oleh karena itu, jangan menyiksa diri dengan menunggu, tetapi pertimbangkan proses membangun aplikasi menggunakan Maven.

Fase

Proses membangun aplikasi disebut siklus hidup proyek Maven dan terdiri dari beberapa fase. Anda dapat melihatnya di IDEA dengan mengklik Maven>example>Lifecycle di sudut 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 penyimpanan artefak yang sudah jadi);
  2. validasi - memeriksa apakah semua informasi tersedia untuk membangun proyek;
  3. kompilasi - file dengan kode sumber dikompilasi;
  4. test — pengujian diluncurkan;
  5. paket - file yang dikompilasi dikemas (ke dalam arsip jar, perang, dll.);
  6. verifikasi — pemeriksaan dilakukan untuk memastikan kesiapan file yang dikemas;
  7. install - paket ditempatkan di repositori lokal. Sekarang dapat digunakan oleh proyek lain sebagai perpustakaan eksternal;
  8. situs - dokumentasi proyek dibuat;
  9. deploy - arsip yang dikumpulkan disalin ke repositori jarak jauh.
Semua fase dijalankan secara berurutan: Anda tidak dapat memulai, katakanlah, fase keempat sampai fase 1-3 selesai. Ada dua cara untuk meluncurkan fase:
  • melalui baris perintah:

    paket mvn

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

    Bagian 4. Dasar-dasar Maven - 7

    Sebelum paket diluncurkan, tahap validasi, kompilasi, dan pengujian dilakukan. Pengecualian adalah fase bersih. Dianjurkan untuk menghentikannya sebelum setiap proyek baru dibangun. Fase dapat dicantumkan dengan dipisahkan oleh spasi:

    paket bersih mvn.

Selain itu, setiap fase memiliki fase sebelum dan sesudah: misalnya, pra-penerapan, pasca-penerapan, pra-pembersihan, pasca-pembersihan, tetapi fase-fase tersebut jarang digunakan. Selain itu, setiap fase memiliki tujuan. Sasaran standar disertakan secara default, sasaran tambahan ditambahkan oleh plugin Maven. Terkadang selama fase tertentu Anda perlu melakukan fungsionalitas tambahan. Ada plugin Maven untuk ini. Daftar plugin resmi dapat ditemukan di situs web Maven . Namun ketahuilah bahwa masih banyak plugin khusus yang dapat ditemukan di sumber pihak ketiga. Tentu saja, jika ada kebutuhan yang eksotik, Anda selalu memiliki kesempatan untuk menulis plugin seperti itu sendiri .

Plugin

Untuk menambahkan plugin Maven ke proyek, deskripsinya, mirip dengan dependensi, harus ditempatkan di pom.xml di tag <build> dan <plugins>. Misalnya, kita memerlukan plugin untuk memeriksa apakah semua perpustakaan eksternal kita menggunakan versi terbaru. Setelah sedikit mencari di Internet, Anda dapat menemukan plugin ini dengan petunjuk penggunaan. Mari kita atur groupId, artefakId, dan versinya. Mari kita tuliskan tujuan apa yang harus dia capai dan dalam fase apa. Dalam kasus kami, pemeriksaan ketergantungan pada pom.xml saat ini diatur ke fase validasi. Sekarang “ingatan” 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 masih dapat terus mengerjakan proyek kami. Namun mari kita coba mengubah versi Apache Commons IO menjadi 2.0 dan mulai membangun proyek. Kami 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 disebabkan oleh plugin. Pesan kesalahan menyatakan bahwa kami menggunakan versi 2.0 ketika 2.6 tersedia. Secara umum, Maven adalah alat yang sangat berguna. Ini mungkin tampak sulit untuk digunakan pada awalnya, tetapi berlatihlah, buat proyek Anda di bawah Maven, dan setelah beberapa saat Anda akan sangat senang dengan hasilnya. Artikel ini sengaja menghilangkan banyak detail tentang Maven - kami berkonsentrasi pada hal-hal penting. Namun tidak ada batasan untuk kesempurnaan: Anda dapat membaca lebih lanjut tentang Maven di situs web resmi produk . Bagian 5. Servlet. Menulis aplikasi web sederhana Bagian 6. Kontainer servlet Bagian 7. Memperkenalkan pola MVC (Model-View-Controller) Bagian 8. Menulis aplikasi spring-boot kecil
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION