Maven باید پیش از اجرای افزونهٔ پروکسی به آن دسترسی پیدا کند
مشکل راهاندازی اولیه را درک کنید: افزونهٔ Maven وعدهٔ کشف پروکسی میدهد، اما آرتیفکتهای خودش قابل حل نیستند.
افزونهٔ خودکار پروکسی برای لپتاپی که بین شبکهها جابهجا میشود ایدهآل به نظر میرسد. اما یک درخواست اول ناخوشایند وجود دارد: ممکن است Maven برای گرفتن خود افزونه به پروکسی نیاز داشته باشد.
هدف افزونه تنها زمانی اجرا میشود که Maven بتواند پیادهسازی و آرتیفکتهای لازم آن را حل و بارگذاری کند. کشف پروکسی درون آن پیادهسازی نمیتواند به دانلودی کمک کند که پیش از شروع پیادهسازی شکست میخورد. استفاده از مختصات کاملاً واجد شرایط افزونه میتواند جستوجوی پیشوند را کنار بگذارد؛ اما آرتیفکت افزونه را در یک مخزن محلی خالی ظاهر نمیکند.
افزونهٔ قدیمی Autoproxy برای Maven این تفاوت را نشان میدهد. README آن کشف پروکسی از طریق proxy-vole را توصیف میکند، اما نصب محلی افزونه پیش از فراخوانی هدفش را نیز توصیف میکند. آن را پیشنیاز همان طراحی بدانید، نه شاهدی بر اینکه Maven بهطور جهانی تنظیمات PAC مرورگر را میخواند.
به نخستین حل، مسیری صریح بدهید
برای شبکهای که دسترسی به مخزن نیازمند پروکسی HTTP است، پروکسی فعال مناسب را در تنظیمات Maven که آن فراخوانی استفاده میکند پیکربندی کنید. برای راهاندازی مجاز از یک مخزن عمومی، یک گزینهٔ HTTP از فهرست پروکسیهای HTTP انتخاب کنید. یک مخزن داخلی تأییدشده که بدون مسیر بیرونی در دسترس است نیز میتواند مشکل دسترسی اولیه را حل کند. هر رویکردی باید افزونه و وابستگیهایش را پوشش دهد، نه فقط وابستگیهای برنامه.
یک مخزن محلی که قبلاً پر شده میتواند نیاز راهاندازی را پنهان کند. موفقیت روی لپتاپ یک توسعهدهنده ثابت نمیکند که یک حساب CI تازه میتواند همان ساخت را آغاز کند. پیش از تغییر منطق تشخیص افزونه، به آرتیفکت و مرحلهای که شکست خورده نگاه کنید.
پس از بارگذاری افزونه، شکست بعدی یک وابستگی پرسشی جداگانه میشود: اینکه مسیر کشفشده درست است و اینکه انتقال فعال Maven از تنظیمات حاصل استفاده میکند. هنگام تصمیمگیری دربارهٔ اینکه آیا تشخیص خودکار ارزش نگهداشتن دارد، این دو نقطهٔ شکست را جدا نگه دارید.