Arketiplere daha sonra kadar uğraşmayın
Maven hakkında bilmeniz gereken tüm bilgiler için web sitelerindeki bazı kitapları okuyun . Ancak, elde etmeye çalıştığınız şey için bu biraz abartılı.
Başlamak için web uygulamanızı, web uygulamaları için standart Maven yapısını izleyerek aşağıdaki gibi düzenleyin. (Bunun için bir Maven arketipine ihtiyacınız yoktur, sadece bir grup standart klasördür, 2 dakika içinde yapabilirsiniz).
src/main/java
- üretim Java kodunuzu içerir
src/main/resources
- üretim sınıfı yol kaynaklarınızı içerir (örneğin, Bahar bağlamları)
src/main/webapp
- (WEB-INF / web.xml içerir, ancak lib klasörü yoktur)
src/test/java
- test Java kodunuzu içerir
src/test/resources
- test kaynaklarınızı içerir (örneğin, web hizmeti testi için XML yayınları vb.)
Temel eklentiler
Bir sonraki adım, bir grup eklenti seçmek. Her zamanki şüpheliler, açık, temiz, derleme ve kaynakları destekleyen kişilerdir (Maven'in bir parçası olarak gelirler, ancak bunları yapılandırabilirsiniz). Sonra emin ateş birimi test cihazı ve WAR eklentisine sahip olacaksınız. Bu çok basit bir web uygulaması oluşturmak için yeterlidir.
Daha gelişmiş eklentiler
Bir sonraki adım, kodunuzu kapsamlı bir şekilde gözden geçirecek ve çeşitli potansiyel sorunları bildirecek Findbugs ve PMD eklentilerini tanıtmaktır. Muhtemelen çapraz referans kaynak kodu için JXR, TODO'ları ve REFACTOR etiketlerini takip etmek için etiket listesi vb. Her şeyden önce ...
... Web uygulamaları için Jetty eklentisini kullanın
Kolay hata ayıklama için WAR dosyanızı IDE'nizde çalıştırmak için Jetty eklentisini kullanın. Hızlı ve küçüktür ve işi hızlı bir şekilde yapar. Maven yapınızın bir parçası olarak İskeleye sahip olmak, bazı karmaşık Sunucular paneli yapılandırılmış bir IDE'ye ihtiyaç duymadan projenizi herhangi bir makinede test edebilmenizi sağlar. Ayrıca, diğer WAR dosyalarına bağımlılıkları bildirmenize izin verir, bu da tek bir komut "mvn clean jetty: run" ile birden fazla web uygulamasından oluşan eksiksiz bir çalışma ortamı oluşturabileceğiniz anlamına gelir. Bu her yerde çalışır ve hatta Bahar enjekte edilmiş veri kaynaklarınızın harici olarak yapılandırılması için test JNDI yapılandırması bile sağlayabilirsiniz. Bu Jetty yaklaşımını standart bir tanıtım HTML sayfasıyla birleştirirseniz (src/test/resources/demo.html
) çalışan bir yerel ortam elde etmeye çalışırken geliştirici çalışma saatlerinden tasarruf edersiniz. Bir komut ve bitti. Basit.
IDE'nizi yapılandırma
Maven ile tüm büyük çocuklar desteklediğinden kolay: Eclipse, Netbeans ve tabii ki kişisel favorim Intellij. Sadece IDE'nizi pom.xml'ye yönlendirin ve listelenen tüm bağımlılıkları sizin yerinize halledecektir. Artık hakkında mucking yok WEB-INF/lib
. Eclipse'de genellikle Dosya | İthalat ... | Maven Projesi | pom.xml.
Hudson ile entegrasyon
Önce Hudson'ı yükleyin (sadece bir web uygulamasıdır) ve ardından sürüm kontrol sisteminizi hedefleyerek uygun sürümü kontrol etmesini sağlayın. Son adımınız, yapılandırmayı yapmak için Maven'i kullanacak şekilde yapılandırmaktır. Açıkçası Maven'in inşaat makinenize kurulması gerekecek (geliştirme makinenizden farklı olduğu varsayılarak).
Hudson sadece anlık görüntü oluşturuyor
Hudson'ın anlık görüntü derlemeleri gerçekleştirmesini ve sürüm derlemelerini manuel bir işleme bırakmasını sağlayın. Bu yaklaşımı kullanmak, geliştiricilerin kodlarını bir anlık görüntü revizyonu (örn. 1.0.0-SNAPSHOT) altında paylaşabilecekleri anlamına gelir ve yalnızca derlemeyi geçebiliyorsa ekip deposuna paylaşılır. Genellikle, "site" hedefi de dahil olmak üzere işleminizin bir parçası olabileceğinden, her yapı için küçük bir proje web sitesi oluşturacağından Hudson "mvn clean deploy" işlemini yürütür. Ekipteki geliştiriciler, Maven bağımlılık yönetimi süreci aracılığıyla projelerine otomatik olarak güncellenen anlık görüntü derlemesine sahip olacaklar.
Hudson, her türlü metriği destekleyebilecek zengin bir eklenti sunar. Benim kişisel favorim, zaman içinde proje başına geçen test sayısını takip etmektir. Yönetime birim test sayınızın ve kapsamınızın sürekli arttığını göstermek harika.
Genel kurulum kılavuzu
Depolarınızı en azından aşağıdaki yapıya bölün:
- team-release - Serbest bırakılan tüm üretim eserleriniz buraya gelir
- ekip anlık görüntüsü - Tüm anlık görüntü geliştirme eserleriniz buraya gider
- üçüncü taraf sürümü - Destekleyen tüm üçüncü taraf kütüphaneleriniz buraya gelir (ör. Bahar, Hazırda Bekleme vb.)
Geliştirici kullanıcı hesapları, anlık görüntü veya sürüm gibi ekip havuzlarına yazamaz. Bu, bir geliştiricinin acele etmeleri ve hızlı bir şekilde norm haline gelmeleri durumunda Hudson'ı atlamasını sağlayacaktır.
Tüm üçüncü taraflarınız için her zaman kaynağı, javadocları ve SHA imzalarını indirdiğinizden emin olun. Jarvana , bulmak zor olan herkes için mükemmel bir havuz gezgini.
Sürekli büyüyen deponuz üzerinde daha iyi kontrol sağlamak için Nexus veya Artifactory gibi bir havuz yöneticisi kurmayı düşünün.