ShrinkWrap ၏ Maven Resolver သို့ proxy ဆက်တင်များ တင်ရန်
သီးခြား Maven ခေါ်ဆိုမှုအပေါ် မှီခိုမည့်အစား စမ်းသပ်မှီခိုမှုများကို ဒေါင်းလုဒ်လုပ်သော resolver သို့ proxy ဖွဲ့စည်းမှုကို တင်ပါ။
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");
နောက်ဆက်တွဲ resolve လုပ်ဆောင်ချက်များအတွက် ဤ resolver ကို အသုံးပြုပါ။ ၎င်းကို တည်ဆောက်ပြီးနောက် အခြား မူလ resolver ကို ခေါ်ပါက ဆက်တင်သည် အသုံးမပြုသော object ပေါ်တွင် ကျန်ရစ်မည်။ Maven က စမ်းသပ်မှု လုပ်ငန်းစဉ်ကို စတင်ပြီးနောက် Arquillian စမ်းသပ်မှုက ဤ repository session ကို ဖန်တီးနိုင်သောကြောင့် ယခင်က command line မှ ဒေါင်းလုဒ်လုပ်ခြင်းသည် ၎င်း၏ input များကို မတည်ဆောက်ပါ။
ရွေးချယ်ထားသော ဖိုင်သည် Maven ဆက်တင် syntax ကို အသုံးပြုသည်။ 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>
လမ်းကြောင်း၊ ဆုံးမှတ်နှင့် ရည်ရွယ်ထားသော ရှောင်ကွင်းမှုများကို အစားထိုးပါ။ host တွင် URL ရှေ့ဆက် မရှိပါ။ ဤစမ်းသပ် resolver ကို မစစ်ဆေးရသော အများသူငှာ ကြားခံမှတစ်ဆင့် အများသူငှာ repository သို့ ရောက်ရှိခွင့်ပြုပါက HTTP proxy စာရင်းက ဖြစ်နိုင်သော host/port တန်ဖိုးများကို ပေးသည်။ အမှန်တကယ် repository သို့ ဝင်ရောက်ခွင့်ကို စစ်ဆေးပါ။ ပံ့ပိုးထားသော ဆက်တင်များမှတစ်ဆင့် proxy authentication ပေးပါ။ repository/server အကောင့်များက အခြား ဝန်ဆောင်မှုကို authenticate လုပ်သည်။
ထိန်းသိမ်းထားသော အကောင်အထည်ဖော်မှုသည် ဆက်တင် model မှ တက်ကြွသော proxy entries များကို repository session ၏ selector သို့ တင်သည်။ မူလတန်ဖိုးများသည် အသုံးပြုသူ/ကမ္ဘာလုံးဆိုင်ရာ ဆက်တင်တည်နေရာများကိုလည်း ထည့်သွင်းစဉ်းစားသည်။ IDE၊ build agent သို့မဟုတ် test runner တွင် အခြား home directory ရှိပါက တိကျသော ဖိုင်က အထောက်အကူဖြစ်သည်။
ဆက်တင်လမ်းကြောင်း၊ repository URL နှင့် artifact ကို အမှန်တကယ် ဒေါင်းလုဒ်လုပ်ရန် လိုအပ်ခဲ့ခြင်း ရှိ/မရှိကို စစ်ဆေးပါ။ ပူနွေးထားသော repository က ပျောက်နေသော လမ်းကြောင်းကို ဖုံးကွယ်နိုင်သည်။ resolver သည် deployment artifact များကို ရယူသည်။ စမ်းသပ်မှုက အသုံးပြုသော HTTP client က အခြား တောင်းဆိုမှု ပြုလုပ်ပြီး ၎င်း၏ ကိုယ်ပိုင် ဖွဲ့စည်းမှု လိုအပ်သည်။ HTTP client က JVM proxy ဂုဏ်သတ္တိများကို လေးစားသော Maven Surefire စမ်းသပ်မှုများအတွက် စမ်းသပ် JVM ၏ proxy input များကို ဖွဲ့စည်းပါ။