Bu makalede adım adım Java projeleriniz için GitHub üzerinde Maven deposu (repository veya repo) oluşturmayı anlatacağım. Yazıya başlarken bir GitHub hesabınızın olduğunu ve Maven’ı biraz da olsa bildiğinizi kabul ediyorum. GitHub üzerindeki bazı Java projelerimin Maven kullanan geliştiriciler tarafından kolayca kullanılabilmeleri amacıyla GitHub üzerinde bana ait ancak herkesin erişimine açık bir Maven deposu oluşturmaya karar verdim. Son zamanlarda bir çok geliştirici de aynı yolu tercih ediyor zaten. Bunun için gereken adımları buraya güzelce not ederek hem bir dahaki sefere bakabileceğim hem de herkesin faydalanabileceği bir döküman ortaya çıkmasını amaçlıyorum.

Bu örnekte resha-turkish-stemmer isimli Java projemi GitHub üzerindeki mvn-repo isimli git depoma bir Maven artifact olarak ekleyeceğim. Projenizin GitHub üzerinde olması şart değil bu arada.

1- Öncelikle Maven deposu olarak kullanacağımız git depomuzu GitHub üzerinde oluşturun. mvn-repo en uygun isim bence. 2- Oluşturduğunuz depoyu yerel bilgisayarınıza klonlayın.

git clone https://github.com/hrzafer/mvn-repo.git

3- Depo klasörü (mvn-repo) içerisinde releases ve snapshots isimli iki klasör oluşturun

cd mvn-repo
mkdir snapshots
mkdir releases

4- Projenin yayınlacağı (deploy) Maven deposunun konumunu yani yereldeki mvn-repo klasörünün yerini pom.xml dosyasında belirtin.

<distributionManagement>
<repository>
<id>repo</id>
<url>file:///C:\Users\hrzafer\Desktop\mvn-repo\releases</url>
</repository>
<snapshotRepository>
<id>repo-snapshots</id>
<url>file://C:\Users\hrzafer\Desktop\mvn-repo\snapshots</url>
</snapshotRepository>
</distributionManagement>

5- Şimdi projemizi inşaa edelim.

mvn clean deploy

6- Eğer projemizin pom.xml dosyasının başındaki versiyon etikeki <version>1.0-SNAPSHOT</version> gibi SNAPSHOT son eki ile bitiyorsa artifact’lar (projenin jar’ı ve projeyi tanımlayan Maven’a özel dosyalar, bir başka ifade ile projenin yanılanmış hali) mvn-repo/snapshots dizine, <version>1.0</version> şeklinde ise mvn-repo/releases dizinine kopyalanır. 7- Son olarak yerelde oluşturduğumuz maven depomuzu GitHub’a yükleyelim

git add --all
git commit -m "resha-turkish-stemmer v1.0.0"
git push origin master

8- GitHub’daki Maven depomuzda yayınladığımız projemizi başka bir Maven projesi içerisinde kullanmak için, projenin pom.xml dosyasına;

<repositories>
<repository>
<id>hrzafer-snapshots-repo</id>
<url>https://github.com/hrzafer/mvn-repo/raw/master/snapshots</url>
</repository>
</repositories>

ve

<dependency>
<groupId>com.hrzafer</groupId>
<artifactId>resha-turkish-stemmer</artifactId>
<version>1.0.0</version>
</dependency>

bölümlerini eklemeniz yeterli olacaktır. Umarım faydalı olmuştur. Herkese kolay gelsin.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone