4.1 dependency
İndi isə maven-i bu qədər məşhur edən başqa bir şeyi - asılılıqları idarə etməni araşdıraq.
Əgər Maven-proyektinə hər hansı kitabxana əlavə etmək istəyirsənsə, sadəcə onun pom-fayldakı asılılıq bölümünə əlavə etməlisən. Bu çox sadə görünür.
Gəlin layihəmizə son versiyalı Spring və Hibernate əlavə edək. Bu necə görünəcək:
<dependencies>
<dependency>
<groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.18</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>6.0.0.Final</version>
</dependency>
</dependencies>
Hamısı bu qədər, daha heç nə etmək lazım deyil. Əgər bu sətirləri layihənə əlavə etsən, IDEA dərhal lazım olan kitabxanaları yükləyəcək. Bir neçə saniyə sonra onların siniflərini kodunda istifadə edə biləcəksən.
Əhəmiyyətli bir nöqtə: əgər layihəni GitHub-a yükləsən və ya kimsəyə arxiv olaraq göndərsən, bu adam mütləq onu toplaya biləcək. Bütün kitabxana, asılılıq və qurma ssenariləri haqqında məlumat artıq layihədə var.
4.2 Maven Repository-də kitabxanaları necə axtarmaq
Sözgəlişi, mən bu iki kitabxananın XML-kodunu pom.xml-ə bir dəqiqə ərzində əlavə etdim. Pis deyil, eləmi? İndi sənə layihəyə istənilən kitabxananı tez əlavə etməyi öyrədəcəm.
Əvvəla, internetdə milyonlarla kitabxananın saxlandığı mərkəzi ictimai Maven-repozitoriyası var. O, https://mvnrepository.com/ linkində yerləşir və sənə lazım olan kitabxananı orada birbaşa axtara bilərsən.

İkincisi, daha asan bir yol var – Google-da sadəcə “maven hibernate” yaz, ilk linkə daxil ol və əldə edəcəksən:

Lazım olan versiyanı seç və ona klik et. Bəzən son versiyada Beta sonluğu ola bilər, onda bir az daha köhnəsini seç.
Mən 6.0.0.Final versiyasını seçdim və sonuncu səhifəyə keçdim.

Burada yaşıl dördkünc içərisində pom.xml-ə kopyalamaq lazım olan kod seçilib. Hamısı bu qədər.
4.3 dependency repository
Layihənin yığılması zamanı sənin Maven əvvəlcə göstərilən kitabxananı (artefaktı) sənin lokal repozitoriyanda axtaracaq. Əgər onu orada tapa bilməsə, sonra qlobal Maven-repozitoriyasından axtaracaq və sonra lokal repoitoriyanda yükləyəcək – növbəti yığmanı sürətli etmək üçün.
Amma bu iki repozitoriyadan başqa da başqaları mövcuddur.
Əvvəla, bir çox böyük şirkətlərin öz özəl maven-repozitoriyaları var.
İkincisi, Docker icad edilməmişdən əvvəl, bir çox layihələr yığıldıqdan sonra sadəcə olaraq korporativ Maven-repozitoriyasına yerləşdirilirdi. Uyğun yer, elə deyilmi? Həm də versiyalama dəstəklənir.
Ümumiyyətlə, əgər layihənizə üçüncü tərəf repozitoriya əlavə etmək qərarına gəlsəniz, bunu asılılıqları əlavə etmək kimi asanlıqla edə bilərsiniz:
<repositories>
<repository>
<id>public-javarush-repo</id> <name>Public JavaRush Repository</name> <url>http://maven.javarush.com</url>
</repository>
<repository>
<id>private-javarush-repo</id> <name>Private JavaRush Repository</name> <url>http://maven2.javarush.com</url>
</repository>
</repositories>
Hər bir repozitoriyanın 3 şeyi var: Açar/ID, Ad və URL. Adı istənilən kimi qeyd edə bilərsiniz – bu sizin rahatlığınız üçündür, ID də sizin daxili ehtiyaclarınız üçün, faktiki olaraq göstərməli olduğunuz yalnız URL-dir.
Əgər bu, ictimai repozitoriyadırsa, bu məlumatlar asanlıqla Google-dan tapılabilir, əgər korporativdirsə, bu məlumatlar sizə giriş verdikdə təqdim olunacaq.
Maven yaradıcıları standartizasiya işində bacarıqlıdırlar, bura yox demək olmaz.
GO TO FULL VERSION