Maven Eklentileri ve Hedefleri
Derlemeyi özelleştirin
Maven Eklentileri ve Hedefleri, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Maven Eklentileri ve Hedefleri
Maven'ın kendisi neredeyse hiçbir şey yapmaz; tüm gerçek işler eklentiler tarafından gerçekleştirilir. Bir eklenti hedefler sağlar ve hedefler yaşam döngüsü aşamalarına bağlanır. Bu derste eklentilerin bir derlemeyi nasıl özelleştirdiği gösterilir.
Eklentiler ve Hedefler
Eklenti, birbiriyle ilişkili yeteneklerin paketlenmiş bir koleksiyonudur. Hedef, bir eklenti içindeki belirli bir görevdir. Örneğin Derleyici Eklentisi, compile ve testCompile hedeflerini sağlar.
Hedef Koordinatları
Bir hedefi doğrudan plugin:goal biçiminde çağırabilirsiniz. Örneğin mvn compiler:compile veya mvn surefire:test. Hedefler aşamalara bağlı olduğundan normalde otomatik olarak çalışır.
Aşama Bağlantıları
Varsayılan paketleme türü, standart eklentileri aşamalara önceden bağlar. jar projesinde Derleyici Eklentisi'nin compile hedefi compile aşamasına, Surefire Eklentisi'nin test hedefi ise test aşamasına bağlanır; bu nedenle mvn test doğrudan çalışır.
Derleyiciyi Yapılandırma
Bir eklentiyi <build><plugins> içinde yapılandırırsınız. Burada Java sürüm seviyesini ayarlayarak derleyicinin belirli bir sürümü hedeflemesini sağlıyoruz.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<release>21</release>
</configuration>
</plugin>
</plugins>
</build>Surefire Eklentisi
Surefire, birim sınamalarını test aşamasında çalıştırır. Hangi sınamaların dahil edileceğini, paralelliği ve JVM bağımsız değişkenlerini yapılandırabilirsiniz. Kardeş eklentisi Failsafe ise tümleştirme sınamalarını verify aşamasında çalıştırır.
Ek Bir Yürütme Bağlama
Bir <execution> bloğu, bir hedefi isteğe bağlı olarak kendi yapılandırmasıyla birlikte açıkça bir aşamaya bağlar. Derlemeden önce kod oluşturmak gibi ek işlemleri bu şekilde eklersiniz.
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>print-banner</id>
<phase>generate-sources</phase>
<goals><goal>run</goal></goals>
</execution>
</executions>
</plugin>Bağımlılıkları İçeren JAR Oluşturma
Varsayılan JAR, bağımlılıkları içermez. Shade eklentisi (veya Assembly eklentisi), her şeyi tek çalıştırılabilir JAR içinde paketler ve hedefini package aşamasına bağlar.
Exec Eklentisi
Exec eklentisi, ana sınıfı belirterek uygulamanızı Maven üzerinden mvn exec:java ile çalıştırmanızı sağlar. Paketleme yapmadan hızlı çalıştırmalar için kullanışlıdır.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<mainClass>com.example.App</mainClass>
</configuration>
</plugin>Eklenti Yönetimi
Çok modüllü bir derlemede, üst POM içindeki <pluginManagement> eklenti sürümlerini ve paylaşılan yapılandırmayı sabitler. Alt modüller daha sonra sürümü tekrarlamadan eklentiye başvurur; böylece derlemeler tutarlı kalır.
Yapılandırmayı Keşfetme
Bir eklentinin hedeflerini ve parametrelerini listelemek için mvn help:describe -Dplugin=compiler komutunu kullanın. Bu, bir eklentinin sunduğu seçenekleri terminalden ayrılmadan öğrenmenin en hızlı yoludur.
Hızlı Kontrol
Eklentileri ve hedefleri anlayıp anlamadığınızı sınayın.
Özet
Maven eklentilerinin nasıl çalıştığını öğrendiniz:
- Tüm gerçek derleme işleri, hedefler sağlayan eklentiler tarafından gerçekleştirilir.
- Hedefler yaşam döngüsü aşamalarına bağlanır; bu nedenle standart aşamalar doğrudan çalışır.
- Eklentileri
<build><plugins>içinde yapılandırın; ek bağlantılar için yürütmeler ekleyin. - Shade/Assembly, bağımlılıkları içeren JAR'lar oluşturur; Exec uygulamayı çalıştırır; Surefire/Failsafe sınamaları çalıştırır.
mvn help:describe, bir eklentinin hedeflerini ve parametrelerini gösterir.
Sıkça Sorulan Sorular
“Maven Eklentileri ve Hedefleri” dersi ücretsiz mi?
Evet — “Maven Eklentileri ve Hedefleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Maven Eklentileri ve Hedefleri” dersinde ne öğreneceğim?
Derlemeyi özelleştirin Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Maven Eklentileri ve Hedefleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Maven Proje Yapısı
- Maven Eklentileri ve Hedefleri
- Gradle Temelleri
- Derleme Aracı Seçme