Maven, proxy eklentisini çalıştırabilmek için önce ona ulaşmalıdır
Bir Maven eklentisi proxy keşfetme sözü verdiğinde ancak kendi artefaktları çözülemediğinde ortaya çıkan önyükleme sorununu anlayın.
Otomatik bir proxy eklentisi, ağlar arasında dolaşan bir dizüstü bilgisayar için ideal görünür. Ancak bir tuhaf ilk istek var: Maven, eklentinin kendisini almak için proxy'ye ihtiyaç duyabilir.
Bir eklenti hedefi yalnızca Maven onun uygulamasını ve gereken artefaktları çözümleyip yükledikten sonra çalışır. O uygulamanın içindeki proxy keşfi, uygulama başlamadan önce başarısız olan bir indirmeye yardımcı olamaz. Tam nitelikli eklenti koordinatları kullanmak önek aramasını önleyebilir; ancak boş bir yerel depoda eklenti artefaktını görünür kılmaz.
Eski Autoproxy Maven eklentisi bu ayrımı gösterir. README'si proxy-vole üzerinden proxy keşfini anlatır, ancak hedefi çağrılmadan önce eklentinin yerel olarak kurulmasını da anlatır. Bunu o tasarımın bir ön koşulu olarak görün; Maven'in tarayıcı PAC ayarlarını evrensel olarak okuduğunun kanıtı olarak değil.
İlk çözüme açık bir yol verin
Depo erişimi HTTP proxy gerektiren bir ağ için, o çağrının kullandığı Maven ayarlarında uygun etkin proxy'yi yapılandırın. İzin verilen genel depo önyüklemesi için HTTP proxy listesinden bir HTTP adayı seçin. Dış yola ihtiyaç duymadan erişilebilen onaylı bir iç depo da ilk erişim sorununu çözebilir. Her iki yaklaşım da yalnızca uygulamanın bağımlılıklarını değil, eklentiyi ve bağımlılıklarını kapsamalıdır.
Önceden doldurulmuş bir yerel depo önyükleme gereksinimini gizleyebilir. Bir geliştiricinin dizüstü bilgisayarındaki başarı, yeni bir CI hesabının aynı derlemeyi başlatabileceğini kanıtlamaz. Eklentinin algılama mantığını değiştirmeden önce başarısız olan artefakta ve aşamaya bakın.
Eklenti yüklendikten sonra, sonraki bir bağımlılık hatası ayrı bir soru hâline gelir: algılanan yol doğru mu ve etkin Maven taşıması ortaya çıkan ayarları kullanıyor mu. Otomatik algılamayı korumaya değip değmeyeceğine karar verirken bu iki hata noktasını ayrı tutun.