Arketiplere giriş
IDEA'da bir Maven projesi oluşturmanın başka bir yolu var - bir arketipe dayalı:
![IDEA'daki Maven projesi](https://cdn.codegym.cc/images/article/ba39b165-cff9-4d4e-ae7c-f5d9edbd8cb0/1024.jpeg)
Burada mevcut arketiplerden birine dayalı bir proje oluşturulması önerilmektedir . Bu arketipler nelerdir ve neden onlara ihtiyacımız var?
Maven standartlaştırılmış proje şablonlarına sahiptir - bu tür şablonlara arketipler denir. Projenin başlangıç yapısını hatırlıyor musunuz - src , java , test klasörleri vb. Dolayısıyla bu klasör yapısı arketip kullanılarak ayarlanır.
Resmi Maven web sitesinde örnek şablonlar bulunmaktadır . Onların yardımıyla farklı başlangıç projeleri oluşturabilirsiniz - basit bir uygulama, bir eklenti, bir web sitesi.
Kullanılabilir arketiplerin listesi, konsolda aşağıdaki komutu çalıştırarak elde edilebilir: mvn arketip:generate
Popüler arketipler
En popüler arketipler şunlardır:
- maven-arketip-hızlı başlangıç ;
- maven-arketip- site
- maven-arketip-webapp ;
- maven-arketip-j2ee-simple ;
- jpa-maven-arketipi ;
- spring-mvc-hızlı başlangıç .
Boş bir Java projesi oluşturmak istiyorsanız maven-archetype-quickstart arketipini kullanın . Son derste IDEA'da bir proje oluştururken gördüğünüz, onun çalışmasının sonucuydu.
Bir web sunucusu içinde çalışacak, HTML sayfalarını gösterecek bir web uygulaması oluşturmak istiyorsanız, o zaman maven-arketip-webapp arketipini güvenle temel alabilirsiniz .
Bir site oluşturmak için maven-archetype-site arketipini kullanabilirsiniz . Veya çok basit bir site bekleniyorsa maven-arketip-site-basit arketip bile. Farklı seçenekleri deneyin ve hangisini en çok sevdiğinizi görün.
Hibernate veya JPA ile çalışmak için jpa-maven-archetype arketipini kullanabilirsiniz .
Son olarak, Spring ile çalışmak için özel bir model de vardır - spring-mvc-quickstart . Yeni başlayanlar için çok faydalı olacaktır. İkincisi hakkında daha fazla benzer bilgiyi burada bağlantıda bulabilirsiniz .
Arketipler neden iyidir? Sıfırdan proje yazmaktan vazgeçerler. Artık kimse sadece Java ile proje yazmıyor. Modern projeler bir teknoloji yığınına yazılır: 5-10 çerçeveden oluşan bir liste ve birkaç düzine kitaplık, modern "yazdığım dildir".
Maven'de web uygulaması
Ayrı olarak, maven-archetype-webapp arketip üzerinde durmak istiyorum .
Bu, Java ile yazılmış klasik bir web uygulamasıdır. Ve Bahar'ın popülaritesinden sonra biraz modası geçmiş olsa da, yeni başlayan biri olarak onu çok faydalı bulacaksınız. Bu arketip hakkında bilmeniz gerekenler nelerdir?
Basit bir web uygulaması oluşturmanıza olanak tanır - oluşturma sonucu bir .war dosyası olacaktır . Dağıtım, web uygulamanızın Tomcat'e hemen eklenmesi için yapılandırılabilir. Son olarak, ilkel servlet'ler ve JSP'ler ile deneyler yapabilirsiniz.
Bu arketipe dayalı bir proje oluşturursanız, aşağıdaki klasör yapısını elde edersiniz:
![IDEA 2'deki Maven projesi](https://cdn.codegym.cc/images/article/0cffc06b-44e6-4dfc-b4ad-1ced138a8211/512.jpeg)
İşte birkaç ilginç şey:
- webapp klasörü;
- WEB-INF klasörü;
- web.xml dosyası;
- index.jsp
İlk olarak, web uygulamanızın tüm kaynaklarının depolanacağı bir webapp klasörü (Web Uygulamasından) vardır .
İkinci olarak, web.xml dosyası web uygulaması konuşlandırma tanımlayıcısıdır . Web uygulamanızın web sunucusu ve istemcileriyle nasıl etkileşime girmesi gerektiğini açıklar.
Üçüncüsü, bir sunucu uygulamasının oldukça basit bir biçimi olan bir index.jsp dosyası vardır . Çalışıyor ve ilk JSP sunucu uygulamanızı değiştirerek onu deneyebilirsiniz.
Tüm bunları servletlere ve web uygulamalarına ayrılmış konuda daha ayrıntılı olarak konuşacağız.