import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.jboss.shrinkwrap.resolver.api.maven.MavenResolverSystem;

MavenResolverSystem resolver = Maven.configureResolver()
    .fromFile("/path/to/test-settings.xml");

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

הקובץ הנבחר משתמש בתחביר הגדרות Maven. בתוך settings, מסלול מינימלי הוא:

<proxies>
  <proxy>
    <id>test-network</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>proxy.example.net</host>
    <port>8080</port>
    <nonProxyHosts>localhost|*.internal.example.net</nonProxyHosts>
  </proxy>
</proxies>

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

המימוש המתוחזק טוען רשומות פרוקסי פעילות ממודל ההגדרות אל בורר מושב המאגר. ברירות המחדל מתחשבות גם במיקומי הגדרות משתמש/גלובליים; קובץ מפורש עוזר כאשר ל-IDE, לסוכן בנייה או לרץ בדיקות יש ספריית בית אחרת.

ודא את נתיב ההגדרות, כתובת ה-URL של המאגר והאם באמת היה צורך להוריד את הארטיפקט. מאגר מחומם יכול להסתיר מסלול חסר. ה-resolver משיג ארטיפקטי פריסה; לקוח HTTP שהבדיקה מפעילה שולח בקשה אחרת וזקוק לתצורה משלו. עבור בדיקות Maven Surefire שלקוח ה-HTTP שלהן מכבד מאפייני פרוקסי של JVM, הגדר את קלטי הפרוקסי של JVM הבדיקה.

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