Apache Maven Ders 1 – Giris ve Kurulum 1

Merhaba Arkadaslar,
Bu yazimiz Apache Maven hakkinda olacaktir.Apache Maven ;

  • Build Tool
  • Project Management Tool olarak kullanilmaktadir.

Genel Problemler
Apache Maven , Java dunyasinda problemlerden bazilari olan

  • Coklu Jar (multiple jars)
  • Bagimliliklar ve versionlar (dependencies and versions)
  • Project Structure

gibi problemlere cozum uretmektedir. Apache firmasinin gelistirmis oldugu bir proje olup su adresten indirebiliriz.

download apache maven

Windows isletim sistemi icin apache-maven-3.0.4-bin.zip Linkinden indirmeniz yeterli olacaktir.

indirdigimiz zip dosyasini istedigimiz yerde acabilirz.
C:\Program Files\Apache Software Foundation dizinine actim.Siz istediginiz yere acabilirsiniz.

Enviremont Variables i eklememiz gerekmektedir.Yeni bir System Variable olusturuyoruz .

M2_HOME
C:\Program Files\Apache Software Foundation\apache-maven-3.0.4-bin\apache-maven-3.0.4

maven2

M2
%M2_HOME%\bin

maven3

Path variable imizin sonuna
%M2%
Ekliyoruz..

Daha oncesinde Javanin path inin eklendigini varsayiyorum..Eger eklemediyseniz ayni sekilde eklenebilir.Eger her sey dogru yapildiysa bunu su sekilde ogrenebiliriz.Komut satirini acip;

mvn –version dedigimizde suna benzer bir seyler gelmeli.

maven4

Bulundugum dizinde yeni bir klasor olusturuyorum.
mkdir myapp
daha sonrasinda dizine gidiyorum
cd myapp

maven5

mvn archetype:generate

komutunu kullandigimizda veriler hizlica komut satirimizda akacaktir. bu komutu ilk calistirdigimizda gerekli dosyalari indirecektir.

Daha sonrasinda birbirinden farkli sekilde archetype listesini gorecegiz ve basinda numara ile id verilmektedir. Maven bize istedigimiz tur projenin sablonunu olusturma imkani sunmaktadir.

maven6

varsayilan olani kabul ederek yolumuza devam edelim, Enter ile.
Version secimi istemektedir, son versionu secelim — > 6 yazip enter diyelim.
Bizden daha sonrasinda groupId sormaktadir  erguder.levent diyorum siz istediginizi yazabilirsiniz.

artifactId olarak MavenTestApplication yazip enterla devam ediyoruz.
version : 1.0 -SNAPSHOT icin de enter yapip devam ediyoruz.
package olarak erguder.levent vermistik groupIdsini aynen getirdi degistirmeden devam edebiliriz.

maven7

Hersey yolundaysa Y diyip enterla devam ediyoruz.

maven8

C:\Users\Levent\myapp\MavenTestApplication
dizinine geldimde pom.xml dosyasinin olustugunu gorebiliriz.

maven9

pom.xml dosyamiz icerisinde , projemizi olustururken verdigimiz bilgileri gorebiliriz. src klasorumuzun altinda main ve test klasoru bulunmaktadir.

maven10

App.java

package erguder.levent;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

pom.xml dosyamizda etiketi altinda etiketiyle groupId si junit olan jar bulunmaktadir.projemiz junit i kullandigi icin bu dependency (bagimlilik) gerekmektedir. Bu alanda birbirine bagli jarlar ve proje icin gereken jarlarin listesini gorebiliriz.

Simdi tekrar komut satirina gelelim.
C:\Users\Levent\myapp dizininden MavenTestAplication  dizinine gidiyorum.

maven11

mvn compile

maven12

jar i ise su komutla olusturabiliriz.

mvn package 

maven13

maven14

Jarimizi komut satirindan calistiralim..
java -cp target\MavenTestApplication-1.0-SNAPSHOT.jar erguder.levent.App

Bu komutu yazdigimizda bulundugumuz dizin MavenTestApplication olmali, yani target klasorune oradan da icerisinde bulunan jar dosyasina ulasabilmeliyiz. jar dosyamizin sonundaki .App de sinifimizin adi.Tam net bir sekilde sinifimizin pathini vermeliyiz.

maven15

Goruldugu gibi ekrana Hello World ciktimizi verdi,

Maven, jarlari bir depoya ekler ve ihtiyaci oldugunda buradan kullanir, eger depoda (repository) de yoksa internetten indirir. Bu nedenle internetten indirdigimiz bir maven projesini calistirabilmek icin internet gerekebilir.
pom.xml dosyasi icerisinde projenin ihtiyaci olan tum jarlar ve dependencyler tanimlanir. Maven bu jarlari bizim icin ayarlar, bizde jarlarda bogusmaktan bir parca olsun kurtulabiliriz.

Bu yazimizin sonuna geldik,,

Herkese bol javali gunler dilerim.
Be an oracle man, import java .*;
Levent Erguder
injavawetrust.

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *