settings.xml တွင် Maven proxy ခြွင်းချက်များ
ဒေါင်လိုက်လိုင်းဖြင့် ခွဲထားသော nonProxyHosts ပုံစံကို အသုံးပြု၍ အတွင်းပိုင်း host များအတွက် ခြွင်းချက်များပါသော Maven forward proxy ကို ပြင်ဆင်ပါ။
Shell ၏ NO_PROXY variable မှ ကူးယူထားသော ခြွင်းချက်သည် Maven တွင် အလိုအလျောက် မှန်ကန်မည်မဟုတ်ပါ။ Maven ၏ nonProxyHosts စာရင်းတွင် entry များကြား ဒေါင်လိုက်လိုင်းကို သုံးပြီး ပတ်ဝန်းကျင် variable များတွင် တွေ့ရသော comma ဖြင့်ခွဲသည့်ပုံစံကို မသုံးပါ။
ရည်ရွယ်ထားသော user settings ထဲရှိ proxy entry သည် ဤသို့ဖြစ်နိုင်သည်။
<settings>
<proxies>
<proxy>
<id>outbound-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>203.0.113.10</host>
<port>8080</port>
<nonProxyHosts>localhost|*.example.internal</nonProxyHosts>
</proxy>
</proxies>
</settings>
၎င်းသည် proxies အပိုင်းပတ်ဝန်းကျင်ရှိ settings ၏ နမူနာအပိုင်းဖြစ်သည်။ မသက်ဆိုင်သော mirrors၊ servers နှင့် profiles များကို အစားမထိုးဘဲ ရှိပြီးသား settings ဖိုင်ထဲသို့ ပေါင်းထည့်ပါ။ အမှန်တကယ်အသုံးပြုမည့် proxy လိပ်စာကို သုံးပါ။ repository request အတွက် public HTTP proxy များကို ခွင့်ပြုထားပါက HTTP proxy စာရင်း တွင် ဖြစ်နိုင်သော host-port အတွဲများကို ရနိုင်သည်။
Repository host နှင့် ကိုက်ညီအောင်လုပ်ပါ
Maven က အမှန်တကယ် ဆက်သွယ်သည့် host name များပေါ်တွင် ခြွင်းချက်များကို သုံးပါ။ အတွင်းပိုင်း repository URL နှင့် public download host name တို့သည် လမ်းကြောင်းမတူညီရန် လိုနိုင်သည်။ လမ်းကြောင်းအပါအဝင် repository URL အပြည့်အစုံကို host pattern အတွက် field ထဲ မထည့်ပါနှင့်။
Wildcard များကို ထောက်ပံ့သော်လည်း error တစ်ခု ပျောက်စေရန်အတွက်သာ ကျယ်ပြန့်သော pattern မသုံးပါနှင့်။ ပြောင်းလဲပြီးနောက် ရည်ရွယ်ထားသည့် internal name နှင့် public repository ကို သီးခြားစစ်ပါ။
တကယ်အသုံးပြုသည့် settings ကို ရှာပါ
Maven သည် global settings နှင့် user settings ကို ပေါင်းစပ်နိုင်ပြီး invocation တစ်ခုသည် အခြား settings ဖိုင်ကို ရွေးနိုင်သည်။ IDE သည် terminal ထက် မတူသော Maven installation သို့မဟုတ် configuration ကို သုံးနိုင်သည်။ မအောင်မြင်သော invocation က မဖတ်သည့်ဖိုင်ကို ပြင်ခြင်းဖြင့် ၎င်း၏ လမ်းကြောင်း မပြောင်းပါ။
Proxy ၏ active flag သည်လည်း အရေးကြီးသည်။ မသက်ဝင်သော entry တွင် host နှင့် port မှန်ကန်နေခြင်းက Maven က ၎င်းကို ရွေးမည်ဟု မဆိုလိုပါ။
Server နှစ်ခုကို ခွဲထားပါ
Proxy လိုအပ်သော ဝန်ဆောင်မှုအတွက် proxy credentials များကို proxy entry ထဲ ထားပါ။ Private artifact repository credentials များကို သက်ဆိုင်ရာ server configuration ထဲ ထားပါ။ Repository token ပေးခြင်းသည် proxy authentication challenge ကို ဖြေကြားခြင်းမဟုတ်ပါ။
Request များ မအောင်မြင်သေးပါက ရွေးချယ်ထားသည့် repository URL၊ response သို့မဟုတ် connection error နှင့် သက်ရောက်သည့် settings ၏ အရင်းအမြစ်ကို မှတ်တမ်းတင်ပါ။ Request သည် proxy ဖြင့်သွားရမည်လား တိုက်ရိုက်သွားရမည်လား အရင်ဆုံး သတ်မှတ်ပါ။ List syntax နှင့် endpoint ကို တစ်ပြိုင်နက် ပြောင်းခြင်းက ရလဒ်ကို အဓိပ္ပာယ်ဖော်ရန် ပိုခက်စေသည်။