Bu Kategoriye İçerik Girin veya Soru Sorun

Kategori İçi Sözlük

Bu Sayfayı Paylaş:

Altuğ Bilgin Altıntaş'ın Maven Video'su Ant Apache Maven Project Artifact Artifactory Eclipse için Varsayılan Repository Klasörünü .. Eclipse ve Maven ile JavaDoc ve JavaDoc Jar D.. Effective POM Grup jcenter M2Eclipse - M2e Maven Maven Aracının Yararları Maven İle En Basit Bir Projenin pom.xml Örneğ.. Maven Kelimesinin Anlamı Maven Projelerinin Genel Yapısı Maven Repository: Search/Browse/Explore Maven Repository Sunucularında Olmayan Bir Ja.. Nexus Repository OSS pom.xml Proje Bağımlılığı Project Object Model - POM Shade Plugin İle Tüm Projeleri ve Kütüphanele.. SNAPSHOT Super POM Version Yiddiş Dili

Maven

Tanım: Java projelerin standart bir şekilde yönetilmesini sağlayan ve birbirlerine olan bağımlılıklarını yönetmenizi sağlayan araç. Projelerin standart bir yapısı olmasından dolayı (POM-Project Object Model standartı) proje bağımlılıkları kolayca çözülebilmekte , projelerin dağıtılması ve yeniden kurulması kolaylaşmakta, projelerin editörlerden (Eclipse, NetBeans vb..) bağımsız bir yapıda olması sağlanmaktadır

Yiddiş Dili

Tanım: Aşkenazi yahudileri tarafından kullanılan , Slav dilininden önemli ölüçüde etkilemiş olan bir Almanca lehçesi

Project Object Model - POM

Tanım: Maven projesinde pom.xml dosyasında saklanan, proje ve konfigürasyon hakkında detaylı bilgi. Maven proje derleme için gerekli olan bilgiyi POM'dan almaktadır

pom.xml

Tanım: Maven projesinde proje ve konfigürasyon hakkında detaylı bilgilerin (bu bilgilere POM-Project Object Model adı verilmektedir) olduğu xml dosyası

Proje Bağımlılığı

Tanım: Programlamada bir projenin başka projeleri kullanmasından dolayı o projeler olan bağımlılığı. Kullanılan projelerde başka projelere bağımlı olmasında dolayı bir bağımlılık yapısı oluşmaktadır. Bu problemi gidermek için çeşitli dillerde araçlar (örneğin javada Maven projesi) mevcuttur

Ant

Tanım: Java'da bir proje için derleme, test etme , deploy etme vb.. rutin işleri otomatikleştirmek veya kolay bir şekilde tekrarlayabilmek için geliştirilen bir araçtır. Ant ile yapılan rutin işlemler (.java dosyalarını derlemek, bir klasöre deploy etmek, bir server'a ftp ile göndermek vb..) bir XML dosyasında tanımlanır ve daha sonradan bu XML dosyası çalıştırılabilir. "Another Neat Tool = "Etkileyici Bir Başka Araç" kelimelerin baş harflerinden türetilmiştir

Grup

Tanım: Maven'de birbiriyle ilgili projelerin tanımlandığı üst proje veya üst birim. Bir proje pom.xml'de tanımlanırken groupId değeri ile id'sinin verilmesi gerekmektedir.

Artifact

Tanım: Maven'de bir proje için kullanılan birim. Bir proje için groupId ve artifactId o projenin diğer projelerden ayıran tanımını sağlamaktadır.

Version

Tanım: Maven'de bir projenin versiyon bilgisi. Bir proje için groupId ve artifactId ile birlikte version bilgisi de verilmesi gerekmektedir.

Super POM

Tanım: Bir POM'ın varsayılan olarak türediği , varsayılan bilgilerin olduğu üst POM

Effective POM

Tanım: Projenin POM'i ile varsayılan Super POM'un birleşmiş hali

M2Eclipse - M2e

Tanım: Eclipse üzerinde Maven ile çalışmayı sağlayan bir Eclipse eklentisi. Varsayılan olarak bu eklenti Eclipse ile birlikte gelmektedir.

SNAPSHOT

Tanım: Maven'de bir versiyonun geliştirme aşamasında versiyonlarını repository'e eklenmek için kullanılan ifade. Maven, her derleme aşamasında SNAPSHOT versiyonlarını repository'den local repository'e tekrar indirmektedir ve bu nedenle proje çalışması devam ettiği sürece projeyi kullanan diğer projeler her zaman güncel versiyonlar ile çalışacaktır.

jcenter

Tanım: Bintray üzerinde (Bintray, Jfrog firmasının bir ürünüdür) bulunan bir merkezi Maven repository sunucusu. Maven Central Repository sunucusunun bir alternatifidir.

Artifactory

Tanım: JFrog firmasına ait olan açık kaynak bir repository yönetim aracı. JFrog firmasının Artifactory Pro ve Artifactory SaaS ürünleri ise ücretlidir

Nexus Repository OSS

Tanım: Sonatype kurumun free Maven repository yönetim aracı. Nexus Repository Pro ücretli versiyonudur.

Altuğ Bilgin Altıntaş'ın Maven Video'su


www.kodcu.com sitesinden Altuğ Bilgin Altıntaş tarafından hazırlanmış Maven'in kurulumu, Maven ile proje geliştirilmesi ve çalıştırılmasını anlatan video'su

Maven Aracının Yararları

Maven aracı aşağıdaki yararları sağlar :

  • Standart bir proje yapısı sağlar
  • Projelerin daha kısa zamanda derlenmesini , dağıtılmasını , değiştirilmesi sağlar
  • Projelerde geliştiricilerin yaptğı görevleri basitleştirir
  • Bir çok projede kullanılan bazı teknolojilere destek sağlar. Değişiklikleri kaydetme, mail listeleri, bağımlılık listesi, kolay birim test desteği gibi
  • Projenin bağımlı olduğu projedeki değişikliklerde etkilenmemesini sağlar


Maven Kelimesinin Anlamı

Maven kelimesi , Yiddiş dilinde (Aşkenazi Yahudileri tarafından kullanılan , Slav dilininden önemli ölüçüde etkilemiş olan bir Almanca lehçesi)  "Bilgi Birikimi" anlamına gelen kelimeden türetilmiş bir kelimedir


Maven Projelerinin Genel Yapısı

Basit bir Java Maven projesinin varsayılan olarak kabul ettiği proje yapısı aşağıdaki gibidir:
src/main/java (kaynak kodu)
src/main/resources (xml , konfigürasyon gibi kaynak dosyaları)
src/test (test kaynak kodları)
target (projenin jar gibi output dosyaları)
target/classes (derlenmiş kodlar)
pom.xml (proje ile ilgili genel bilgiler)

Maven İle En Basit Bir Projenin pom.xml Örneği

Maven aracı ile yaratılmış en basit pom.xml örneği aşağıdaki gibidir :
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.fibiler</groupId>
  <artifactId>categorybase</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>
  <name>categorybase</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

proje kütüphane projesi olmasından dolayı packaging bilgisi jar olarak verilmiştir. junit'in 3.8.1 versiyonuna bağımlılığı bulunmaktadır.

Maven Repository Sunucularında Olmayan Bir Jar'ı Maven İle Kullanmak

Projenizde kullanmak istediğimiz ancak maven repository sunucularında bulunmayan bir jar'ı pom.xml içinde ekleyip kullanmak isteyebilirsiniz.
Örneğin rowset.jar kütüphanesi için projemiz içinde (projenin hemen kökünde pom.xml olur) lib klasörü açıp bu klasörün içine rowset.jar'ı ekleyebiliriz. Bundan sonra pom.xml'e dependencies içine eklenir :
<dependency>
  <groupid>javax.sql</groupid>
  <artifactid>rowset</artifactid>
  <version>1.0.1</version>
  <scope>system</scope>
  <systempath>${basedir}/lib/rowset.jar</systempath>
</dependency>
Bu tanım eklendiğinde rowset.jar içindeki sınıfları kullanabilirsiniz
Eğer kütüphane projesi yapıyorsanız ve projenizi bir uygulama veya web projesi içinde kullanıyorsanız , jar veya war ile projeyi export ettiğinizde rowset.jar dosyasını export ettiğiniz jar veya war içinde bulamazsınız. Bunun için jar veya war export işleminde rowset.jar'ın ayrı olarak eklenmesini sağlayın

Eclipse için Varsayılan Repository Klasörünü Değiştirme

Normal koşullarda Maven local repository adresi olarak %USER_HOME%/.m2 klasörünü kullanır. Bu klasör içine aşağıdaki gibi settings.xml eklenirse farklı bir klasörün kullanılması sağlanabilir.
<settings>
<localRepository>E:\Projects\Maven\Repository</localRepository>
</settings>
Artık Eclipse'de .jar dosyaları yukarıdaki klasöre indirilecektir

Eclipse ve Maven ile JavaDoc ve JavaDoc Jar Dosyasını Oluşturma

Eclipse'de bir Maven projesinde otomatik javadoc dosyalarının oluşturulması sağlanabilir.

Öncelikle javadoc üreten plugin pom.xml'e eklenmelidir :
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-javadoc-plugin</artifactId>
	<executions>
		<execution>
			<id>attach-javadocs</id>
			<goals>
				<goal>jar</goal>
			</goals>
		</execution>
	</executions>
</plugin>
Ardında eclipse üzerinde Run As -> Maven Install komutunu çalıştırırsanız jar , java-doc için ayrı bir jar ve javadoc dosyaları üretilmiş olacaktır.

Üretilen javadoc sayfalarında Türkçe karakter sorununu çözmek için pom.xml'de project elementi içine aşağıdaki gibi property'leri eklemeniz gerekir :
<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
.

Shade Plugin İle Tüm Projeleri ve Kütüphaneleri İçeren Jar Oluşturabilirsiniz



Bir projeyi jar olarak export ettiğinizde sadece projenin kaynakları jar'a eklenir. Eğer bir jar oluşturduğunuzda kullanılan harici tüm kütüphanelerin ve kaynakların jar'a eklenmesini istiyorsanız Maven'de shade plugin'ini kullanabilirsiniz. Plugin pom.xml'in plugins elementi içine eklenmelidir:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-shade-plugin</artifactId>
  <version>2.3</version>
  <executions>
	<execution>
	<phase>package</phase>
	<goals>
		<goal>shade</goal>
	</goals>
	<configuration>
	  <transformers>
			<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
			<mainClass>com.test.App</mainClass>
		</transformer>
	  </transformers>
	</configuration>
	  </execution>
  </executions>
</plugin>


Bu eklemeyi yaptıktan sonra mvn package komutu verildiğinde tüm kaynakların içerildiği jar üretilecektir. Artık oluşan jar'daki com.test.App uygulamasını çalıştırabilirsiniz ve başka bir harici jar'ı classpath'e eklenemenize gerek yoktur.

Apache Maven Project


Apache tarafından geliştirilen Maven projesinin resmi sitesi
Kaynağa Gitmek İçin Tıklayınız

Maven Repository: Search/Browse/Explore


Java projelerin maven bilgilerinin olduğu web sitesi. Bir çok projenin maven ile ilgili bilgilerine buradan ulaşabilirsiniz
Kaynağa Gitmek İçin Tıklayınız

Altuğ Bilgin Altıntaş'ın Maven Video'su Ant Apache Maven Project Artifact Artifactory Eclipse için Varsayılan Repository Klasörünü .. Eclipse ve Maven ile JavaDoc ve JavaDoc Jar D.. Effective POM Grup jcenter M2Eclipse - M2e Maven Maven Aracının Yararları Maven İle En Basit Bir Projenin pom.xml Örneğ.. Maven Kelimesinin Anlamı Maven Projelerinin Genel Yapısı Maven Repository: Search/Browse/Explore Maven Repository Sunucularında Olmayan Bir Ja.. Nexus Repository OSS pom.xml Proje Bağımlılığı Project Object Model - POM Shade Plugin İle Tüm Projeleri ve Kütüphanele.. SNAPSHOT Super POM Version Yiddiş Dili



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir