CodeGym /Java Blogu /Rastgele /Bölüm 4. Maven'in temelleri
John Squirrels
Seviye
San Francisco

Bölüm 4. Maven'in temelleri

grupta yayınlandı
Bu materyal, "Kurumsal Geliştirmeye Giriş" serisinin bir parçasıdır. Önceki makaleler: Bölüm 4. Maven'in temelleri - 1Maven , projeleri yönetmek ve oluşturmak için bir araçtır — bir Java programcısının yardımcı asistanıdır. Geliştiriciler için işin her aşamasında hayatı kolaylaştırır: proje yapısının oluşturulması ve gerekli kitaplıkların bağlanmasından ürünün sunucuda konuşlandırılmasına kadar. Herhangi bir çerçeve ile çalışırken Maven kullanmanız gerekecek. Öyleyse, bugün ana işlevlerine bir göz atalım ve nasıl kullanılacağını görelim.

Maven'in adım adım kurulumu

  1. Öncelikle Maven'i kurmamız gerekiyor. Bu bağlantıdan indirin .

  2. Ardından, indirilen arşivi açın ve M2_HOME ortam değişkenini sıkıştırılmış arşivin konumuna ayarlayın. Örneğin, C:\\Program Files\\maven\\

  3. Her şeyin kurulu olduğundan emin olmak için komut satırında aşağıdakini yürütün:

    mvn -sürüm

  4. Maven, Java vb. sürüm bilgileri görüntüleniyorsa, her şey hazır demektir.

  5. Şimdi IntelliJ IDEA'yı açın ve yeni bir proje oluşturun. İlk pencerede Maven'i seçin:

    Bölüm 4. Maven'in temelleri - 2
  6. "İleri" düğmesini tıklayın ve beliren pencereyi doldurun:

    Bölüm 4. Maven'in temelleri - 3
  7. Ardından, her zamanki gibi, istediğiniz yerde bir proje oluşturun.

    Proje oluşturulduktan sonra yapısını not edin:

    Bölüm 4. Maven'in temelleri - 4
Bu, bir Maven projesinin standart yapısıdır :
  • src /main/java klasörü Java sınıflarını içerir
  • src /main/resources klasörü, uygulama tarafından kullanılan kaynakları içerir (HTML sayfaları, resimler, stil sayfaları vb.)
  • src /test klasörü testler içindir
Ayrıca pom.xml adlı dosyaya da dikkat edin . Bu, Maven'i yönetmek için kullanılan ana dosyadır . Tüm proje açıklaması burada yer almaktadır. Şu anda çok fazla bilgi yok ama şimdi ekleyeceğiz.

Maven'de bağımlılıkları yönetme

"Bağımlılık yöneticisi" ifadesiyle karşılaşmış olabilirsiniz. Maven, bağımlılıkları nasıl yöneteceğini biliyor. Maven sayesinde, gerekli bir kütüphaneyi internette aramak, onu indirmek ve ardından onu projenize bağlamak için çok fazla zaman harcamanıza gerek yok. Bunun yerine, gerekli kitaplığı Maven'deki bağımlılıklar listesine eklemeniz yeterlidir.

Bağımlılıklar, pom.xml dosyasının bağımlılıklar düğümünde belirtilir.

Dosyalarla çalışmayı basitleştirmek için projenizde Apache Commons IO kitaplığına ihtiyacınız olduğunu varsayalım. Bir kitaplık eklemek için pom.xml'de beş satır yazıyoruz:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Şimdi pom.xml dosyanız şöyle görünmelidir:

  <?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Bundan sonra, IntelliJ IDEA'nın bağımlılığı içe aktarmasına izin verin (sağ alt köşede bir iletişim kutusu görünmelidir). Artık kütüphane kullanıma hazır:

import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Sonraki tüm bağımlılıklar da etiketin içine yazılmalıdır <dependencies>. Etiket içerisinde belirtmeniz gereken kütüphane bilgilerine nasıl ulaşacağınızı merak ediyor olabilirsiniz <dependency>. Bu kolay. Her zaman üç parametrenin ayarlanması gerekir: "groupId", "artifactId" ve "version". Bu parametreleri belirlemenin iki yolu vardır:
  1. Kütüphanenin web sitesinde. Apache Commons IO kütüphanesine ihtiyacımız varsa, resmi web sitesine gidip "Dependency Information" sekmesini seçiyoruz. Gerekli tüm bilgiler burada - basitçe kopyalayabilir ve düğüme ekleyebilirsiniz <dependencies>.

  2. Bir Maven deposunda . Arama çubuğuna "apache commons io" yazın ve kitaplığın mevcut tüm sürümlerini göreceksiniz. Doğru olanı seçtikten sonra, aşağıdakileri kopyalamanız yeterlidir:

    
    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>
    

    ve onu pom.xml dosyanıza ekleyin.

Maven depo türleri

Maven depolarından tekrar bahsetmekte fayda var, çünkü aslında iki tane var: uzak (merkezi) bir depo ve yerel (bilgisayarınızda) bir depo. Projelerinize eklediğiniz tüm kitaplıklar yerel depoya kaydedilir. Maven bir projeye gerekli bir bağımlılığı eklediğinde, önce kütüphanenin yerel depoda var olup olmadığını kontrol eder. Uzak depoya yalnızca kitaplığı yerel olarak bulamazsa erişir. Gördüğünüz gibi, bağımlılık eklemek için Maven'i kullanabilirsiniz, ancak yapabileceği tek şey bu değil.

Maven kullanarak bir Java projesi oluşturma

Bu yetenek yeni başlayanlar için anlamsız görünebilir. Bir IDE'miz varsa buna neden ihtiyacımız var? Açıklamama izin ver. Birincisi, uygulamanızı oluşturacağınız sunucunun ne bir geliştirme ortamı ne de bir grafik arayüzü olabilir. İkincisi, büyük projelerde Maven, projeyi oluşturmak için daha iyi bir iş çıkarıyor. Daha fazla veda etmeden, Maven kullanarak bir uygulama oluşturma sürecini ele alacağız.

Aşamalar

Bir uygulama oluşturma süreci, bir Maven projesinin yaşam döngüsü olarak bilinir ve aşamalardan oluşur. Sağ üst köşedeki Maven > örnek > Yaşam Döngüsü'ne tıklayarak IDEA'da bunlara bakabilirsiniz: Bölüm 4. Maven'in temelleri - 5Gördüğünüz gibi 9 aşama var:
  1. clean — derlenmiş tüm dosyaları hedef dizinden kaldırır (bitmiş eserlerin kaydedildiği yer)
  2. valide — projeyi oluşturmak için gereken tüm bilgilerin mevcut olup olmadığını kontrol eder
  3. derleme — kaynak kod dosyalarını derler
  4. test — testleri başlatır
  5. package — derlenmiş dosyaları paketler (bir JAR, WAR, vb. arşivinde)
  6. doğrula — paketlenmiş dosyanın hazır olup olmadığını kontrol eder
  7. kur — paketi yerel depoya yerleştirir. Artık diğer projeler tarafından harici bir kütüphane olarak kullanılabilir.
  8. site — proje belgeleri oluşturur
  9. konuşlandır — yerleşik arşivi uzak depoya kopyalar
Tüm aşamalar sırayla gerçekleştirilir: örneğin, 1-3. aşamalar tamamlanmadan dördüncü aşama başlatılamaz. Bir aşamayı başlatmanın iki yolu vardır:
  • komut satırı aracılığıyla:

    mvn paketi

    Bölüm 4. Maven'in temelleri - 6
  • IntelliJ IDEA'yı kullanarak:

    Bölüm 4. Maven'in temelleri - 7

    Paket aşaması başlamadan önce doğrulama, derleme ve test aşamaları gerçekleştirilir. Temiz faz bir istisnadır. Projenin her inşasından önce bu aşamayı çalıştırmak iyi bir fikirdir. Birden çok aşamayı boşluklarla ayırarak listeleyebilirsiniz:

    mvn temiz paket.

Ayrıca, her aşamanın öncesi ve sonrası aşamaları vardır: örneğin, dağıtım öncesi, dağıtım sonrası, ön temizleme, temizleme sonrası vb. ancak bunlar oldukça nadiren kullanılır. Ayrıca her aşamanın hedefleri vardır. Standart hedefler varsayılan olarak belirlenir. Maven eklentileri tarafından ek hedefler eklenir. Bazen bir aşamada ek işlevler gerçekleştirmeniz gerekebilir. Bunun için Maven eklentileri var. Resmi eklentilerin bir listesi Maven web sitesinde bulunabilir . Ancak, üçüncü taraf web sitelerinde bulunabilen birçok özel eklenti olduğunu bilmelisiniz. Ve tabii ki, egzotik bir ihtiyaç ortaya çıkarsa, her zaman kendinize özel bir eklenti yazabilirsiniz .

Eklentiler

Projeye bir Maven eklentisi eklemek için, bağımlılıkları nasıl eklediğimize benzer şekilde, <build>ve etiketlerini kullanarak açıklamasını pom.xml dosyasına eklememiz gerekiyor. <plugins>Örneğin, tüm harici kitaplıklarımızın en son sürümünü kullandığımızı doğrulamak için bir eklentiye ihtiyacımız olduğunu varsayalım. İnternette biraz arama yaptıktan sonra, bu eklentiyi ve nasıl kullanılacağına ilişkin talimatları bulabilirsiniz . Grup kimliği, yapı kimliği ve sürümünü ayarlayalım. Eklentinin hangi hedefleri yerine getirmesi gerektiğini ve hangi aşamada olduğunu belirteceğiz. Bizim durumumuzda, mevcut pom.xml'deki bağımlılık kontrolü, doğrulama aşamasında gerçekleşecek şekilde ayarlanmıştır. Şimdi pom.xml dosyamız şöyle görünüyor:

<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Projemiz üzerinde çalışmaya devam edebiliriz. Ancak, Apache Commons IO sürümünü 2.0 olarak değiştirmeyi ve projeyi oluşturmayı deneyelim. alacağız

[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
Burada eklenti tarafından oluşturulan bir derleme hatası var. Hata mesajı, 2.6 sürümü mevcutken 2.0 sürümünü kullandığımızı belirtir. Temel olarak, Maven çok kullanışlı bir araçtır. Belki ilk başta kullanmak zor gelecek ama pratik yapın! Projelerinizi Maven kullanarak oluşturun ve bir süre sonra sonuçtan çok memnun kalacaksınız. Bu makale, Maven hakkında birçok ayrıntıyı kasıtlı olarak atladı - en önemlisine odaklandık. Ancak iyileştirmenin sınırı yoktur: Maven hakkında daha fazla bilgiyi resmi web sitesinde bulabilirsiniz . Bölüm 5. Servlet'ler ve Java Servlet API'si. Basit bir web uygulaması yazmak Bölüm 6. Servlet kapsayıcıları Bölüm 7. MVC (Model-View-Controller) modeline giriş
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION