mvn temiz yükleme, dağıtma ve yayınlama karşılaştırması


133

Ben sadece maven öğreniyorum ve son zamanlarda gittikçe daha fazlasına gitmemiz gerekiyor. Arasındaki farkı bilmek isterim

mvn clean install

mvn release

mvn deploy

Lütfen olabildiğince açıklayıcı olun.

Yanıtlar:


223

clean, installVe deploy fazlar geçerlidir ömrü aşamaları ve hepsini kendilerinden önce aşamalarını ve bu fazların bağlı hedefleri tetikleyecek çağırma.

mvn temiz yükleme

Bu komut, cleanfazı ve ardından installfazı sırayla çağırır :

  • clean: bir projenin dizininde derleme zamanında oluşturulan dosyaları kaldırır ( targetvarsayılan olarak)
  • install: diğer projelerde yerel olarak bağımlılık olarak kullanılmak üzere paketi yerel depoya yükler .

mvn dağıtımı

Bu komut deployaşamayı çağırır :

  • deploy: son paketi diğer geliştiriciler ve projelerle paylaşmak için uzak depoya kopyalar .

mvn sürümü

Bu geçerli bir aşama veya hedef değil, bu yüzden bu hiçbir şey yapmayacak. Ancak , sürüm yönetimini otomatikleştirmek için kullanılan Maven Sürüm Eklentisine atıfta bulunur . Bir projenin yayınlanması iki adımda yapılır: prepareve perform. Belgelendiği gibi:

Bir sürümün hazırlanması aşağıdaki sürüm aşamalarından geçer:

  • Kaynaklarda taahhüt edilmeyen değişiklikler olup olmadığını kontrol edin
  • SNAPSHOT bağımlılığı olmadığını kontrol edin
  • POM'lardaki sürümü x-SNAPSHOT'tan yeni bir sürüme değiştirin (sürümlerin kullanması istenecektir)
  • Etiketin son hedefini içerecek şekilde POM'daki SCM bilgilerini dönüştürün
  • Her şeyin çalışır durumda olduğunu doğrulamak için proje testlerini değiştirilmiş POM'lara karşı çalıştırın
  • Değiştirilen POM'ları işleyin
  • SCM'deki kodu bir sürüm adıyla etiketleyin (bu istenecektir)
  • POM'lardaki sürümü yeni bir y-SNAPSHOT değerine çarpın (bu değerler de istenecektir)
  • Değiştirilen POM'ları işleyin

Ve sonra:

Bir sürüm gerçekleştirmek aşağıdaki sürüm aşamalarını çalıştırır:

  • İsteğe bağlı etikete sahip bir SCM URL'sinden ödeme yapın
  • Projeyi yayınlamak için önceden tanımlanmış Maven hedeflerini çalıştırın (varsayılan olarak site dağıtımını dağıtın)

Ayrıca bakınız


1
Lütfen şunu açıklığa kavuşturur musunuz: Bu ne geçerli bir aşama ne de bir hedef, dolayısıyla bu hiçbir şey yapmaz. Ancak Maven Yayın Eklentisine atıfta bulunuyorsa. Bu ne bir aşama ne de hedefse, o zaman nasıl adlandırabiliriz?
gvlasov

26
  • mvn installiçine paketlenmiş maven proje koyacağız yerel bir bağımlılık olarak projenizi kullanarak yerel uygulama için, depo.
  • mvn release temelde mevcut kodunuzu SCM'nizdeki bir etikete koyar, projelerinizdeki sürümünüzü değiştirir.
  • mvn deploypaketlenmiş maven projenizi diğer geliştiricilerle paylaşmak için uzak bir depoya koyacaktır .

Kaynaklar:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.