Daha önce size Maven'ın ne amaçla kullanıldığından bahsetmiştim. Uzak sunuculardaki kütüphaneleri sizin projenize dahil eden bir asistan olduğunu hatırlayın. Şimdi hemen bir senaryo canlandıralım kafamızda. Bir Jar dosyası bulup indirdiniz internetten. Yada kendiniz kodlamasını yaparak bir Jar oluşturdunuz. Ve bu Jar dosyası remote repository lerden hiçbirinde yok. Zaten kendi yazdığınızın olmaması normal. Peki bu Jar dosyasını Maven projenize dahil edemeyecek misiniz? Cevap : Tabii ki edebileceksiniz...
Bunun yöntemi şudur. Localde(Kendi bilgisayarınızda) bir Maven repository(Depo) oluşturarak bu Jar dosyasını içine atıyorsunuz ve Pom dosyanıza, Repository'e bakarken kendi oluşturduğunuz local repositorye de bakmasını söylüyorsunuz. Maven bu komutu alır almaz göreve başlıyor. Bundan sonra sizin local repository nizi de tarayarak bağımlılıkları(dependency) projenizin çıktısına ekliyor.
Şimdi yukarıda yazdıklarımı komutlarla anlatayım:
Önce maven ayarlarını kontrol etmenizi tavsiye ediyorum.
mvn –version
|
Komut satırından aşağıdaki kodu çalıştırarak repository oluşturun. Ayrıca jar dosyanızı local repository de konumlandırın.
mvn deploy:deploy-file -DgroupId=com.company.uniApi
-DartifactId=eml-creator -Dversion=1.0 -Dpackaging=jar
-Dfile=C:\_projects-company\eml-creator\eml-creator\target\eml-creator.jar
-DrepositoryId=companyRepo -Durl=file:///C:\_projects-local-repo
|
Yine komutları çalıştırdığınızda alttaki gibi bir çıktı alıyorsanız (BUILD SUCCESS) işleminiz başarılı demektir.
Şimdi yazdığımız komutun içeriğini açıklayayım :
deploy:deploy-file // Bir dosyanın deploy edileceği
-DgroupId=com.company.uniApi // Ekleyeceğimiz Jar dosyasının groupId değeri.
-DartifactId=eml-creator // Eklenecek Jar Dosyasının artifactid değeri
-Dversion=1.0 //Eklenen Jar Dosyasının versiyonu
-Dpackaging=jar // Eklenecek Dosyanın Jar dosyası olduğu
-Dfile=C:\_projects-company\eml-creator\eml-creator\target\eml-creator.jar //eklenecek Jar dosyasının dosya yolu(Path)
-DrepositoryId=companyRepo // EKlenecek[Oluşturulacak ] repostry ID si
-Durl=file:///C:\_projects-local-repo // Oluşturulacak Repository dizininin yolu(Destination Path)
Pom Güncellemeleri :
<repositories>
<repository>
<id>companyRepo</id>
<url>file://C:\_projects-local-repo</url>
</repository>
</repositories>
|
Daha sonra dependency kısmına Jar dosyanızın bağlılığını ayarlayın
pom.xml
<dependencies>
<dependency>
<groupId>com.company.uniApi</groupId>
<artifactId>eml-creator</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
|
Bütün bu yaptıklarımızdan sonra son bir işlem kaldı maven install diyerek finali yapmak..
Arkadaşlar remote repository de olmayan dosyaları maven'a dahil etmenin birden fazla yöntemi var aslında. Ben kendi araştırmalarım dahilinde bu yöntemi kullanmayı tercih ettim. Sizlerede Türkçe kaynak oluşturmak adına paylaşayım istedim.
Hiç yorum yok:
Yorum Gönder