15 Aralık 2014 Pazartesi

Repositoryde Olmayan Jar ları Local Repository Oluşturarak Projeye Dahil Etmek. // Maven

Herkese merhaba, bu yazıma başlıktan da anlaşılacağı üzere diye başlayamıyorum. Çünkü bu yazının  başlığını atarken esasen biraz güçlük çektim.  Muhtemelen başlığa bakarak sizde ne demek istendiğini anlayamayacaksınız. Ancak  arkadaşlar konumuzun yine  Maven olduğunu belirterek okumaya devam etmenizi tavsiye ediyorum..

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


aşağıdaki gibi bir çıktı alıyorsanız (versiyon ve path bilgisi geliyorsa) sorun yok demektir.





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 :

Bu işlemlerden sonra Jar dosyanızı eklemek istediğiniz maven projesinin pom dosyasına dahil etmelisiniz. bunun için pom.xml dosyasında önce oluşturduğunuz repository yi tanıtın.
pom.xml
   <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