sbt עשוי להזדקק לרשת לפני שהגדרת ה-build שלכם עשתה משהו שימושי. ה-launcher שלו חייב להשיג רכיבים, וה-build עשוי לפנות מאוחר יותר למאגרים דרך ספריות נוספות. הגדרת proxy המוסתרת בתוך משימה עשויה להגיע מאוחר מדי עבור ההורדה הראשונה.

התחילו מה-JVM שמריץ בפועל את sbt. עבור launcher שקורא את ה-.jvmopts של הפרויקט, מאפייני נקודת הקצה הבסיסיים יכולים להיות:

-Dhttp.proxyHost=proxy.example.net
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=proxy.example.net
-Dhttps.proxyPort=8080

ערכים אלה מפרידים בין שם מארח לפורט; הם אינם כתובות URL מלאות של proxy. עבור הורדות מותרות ממאגרים ציבוריים, רשימת ה-proxy של HTTP מספקת ערכים מועמדים עבור השדות האלה. עדיין אפשר להגיע למאגר HTTPS דרך proxy של HTTP באמצעות CONNECT.

שימו לב איזו הורדה נכשלה

אתחול ה-launcher, רכיבי כלי ה-build, תוספים ותלויות לא בהכרח משתמשים באותה שכבת תצורה. זהו את הכתובת ואת השלב שנכשלו לפני עריכת הצהרות המאגר.

בחירת מאגר עונה מהיכן משיגים ארטיפקטים. תצורת proxy עונה כיצד לקוח רשת מגיע לנקודת הקצה הזו. החלפת מאגר במראה פנימית יכולה להיות אפשרות נתמכת נפרדת, אך היא אינה מגדירה proxy רשת עבור כל יעד אחר.

אימות proxy הוא בדיקה נוספת. אל תניחו שכל מוריד Java מתייחס למאפיין proxyUser שרירותי כמנגנון התחברות נתמך. השתמשו בהסדר האימות המתועד עבור ה-launcher המותקן וה-resolver הרלוונטי.

לבסוף, בדקו את סביבת ה-launcher בפועל במקום להעתיק משתנה ממדריך עבור מריץ אחר. כשל DNS, מאגר לא זמין והתחברות proxy שנדחתה יכולים כולם להופיע במהלך פתרון תלויות, אך הם דורשים תיקונים שונים מאוד.

מאמרים קשורים