Bagaimana Maven secara otomatis menyelesaikan dependensi pustaka jar.


Tanggal Publikasi:17 Januari 2021.



INFOMARTION > Bagaimana Maven secara otomatis menyelesaikan dependensi pustaka jar.

Ikhtisar.

Maven secara otomatis mengunduh jar dari internet, tetapi saya ingin menjelaskan dengan tepat bagaimana cara kerjanya.

Premis dari artikel ini adalah Anda perlu memahami apa itu Maven, jadi jika Anda tidak terbiasa dengan Maven itu sendiri, Anda juga harus merujuk ke artikel berikut.

Apa itu Maven dan apa yang dilakukan Maven?

Daftar Isi

  1. Kemampuan Maven untuk menyelesaikan ketergantungan pustaka jar.
  2. ringkasan

1. Kemampuan Maven untuk menyelesaikan ketergantungan pustaka jar.

Maven dapat secara otomatis mengambil file jar hanya dengan mendefinisikan file jar yang diperlukan dalam file pom.xml. Ia juga secara otomatis mempelajari jar dependen yang diperlukan untuk menjalankan jar itu. Saya ingin menjelaskan cara kerjanya.

1-1. Apa yang harus disertakan dalam berkas pom.xml.

Pertama, untuk menyelesaikan ketergantungan pustaka jar, informasi disediakan dalam file pom.xml. Maven memproses informasi dari file pom.xml. Jika "poi-3.17.jar" diperlukan, misalnya, itu dijelaskan dalam pom.xml sebagai berikut. (Kebetulan, 'poi-3.17.jar' adalah jar yang digunakan untuk memanipulasi file Microsoft Office seperti Excel.)

pom.xml


<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.17</version>
</dependency>

Cukup dengan menyebutkan hal di atas akan mendownload "poi-3.17.jar" dari Internet dan juga mendownload jar yang menyertainya dari Internet yang diperlukan untuk menjalankan "poi-3.17.jar".

1-2. Bagaimana mereka diunduh dari internet?

Penjelasan sederhana mengenai sistem ditunjukkan dalam diagram di bawah ini.

Unduh dari repositori Maven yang tersedia di Internet. Jika tidak ada yang ditetapkan, nilai default adalah Repositori Pusat. URL-nya adalah sebagai berikut.

https://repo1.maven.org/maven2/

Lihat situs web berikut ini untuk daftar repositori yang tersedia di internet jika Anda tertarik.

https://mvnrepository.com/repos

Pertama kali, jar diambil dari repositori eksternal, tetapi disalin ke repositori lokal dan tidak diambil dari kedua kalinya dan seterusnya. Lokasi repositori lokal adalah "C:\Users\user\.m2".

Jika Anda ingin mengubah tujuan dari nilai default, Anda juga dapat mengubah tujuan dengan menyertakan tag repositori berikut di pom.xml.

pom.xml


<repositories>
    <repository>
        <id>sonatype-nexus-snapshots</id>
        <name>Sonatype Nexus Snapshots</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
        </snapshots>
    </repository>
</repositories>

1-3. Mekanisme untuk menyelesaikan ketergantungan jar yang akan diperoleh.

Kita baru saja menjelaskan contoh untuk mendapatkan 'poi-3.17.jar', tetapi 'poi-3.17.jar' memerlukan 'commons-collections4-4.1.jar' untuk dijalankan. Ini berarti bahwa 'poi-3.17.jar' bergantung pada 'commons-collections4-4.1.jar'. Mekanisme untuk menyelesaikan ketergantungan ini dapat ditemukan di repositori Maven di mana 'poi-3.17.jar' disimpan. URL-nya adalah sebagai berikut.

https://repo1.maven.org/maven2/org/apache/poi/poi/3.17/

Saya pikir "poi-3.17.pom" disimpan, dan dalam file ini Anda akan menemukan informasi bahwa "poi-3.17.jar" bergantung pada "commons-collections4-4.1.jar". Ini berarti bahwa ketika mengambil 'poi-3.17.jar', sistem tidak hanya mengambil file jar, tetapi juga file pom dan memeriksa file jar lain yang diperlukan.

2. ringkasan

Mekanisme Maven untuk menyelesaikan ketergantungan pada pustaka jar adalah bahwa dependensi didefinisikan dalam file pom di mana file jar yang akan diambil disimpan.

Terima kasih telah menonton sampai akhir.