Maven 3.9 အဆင့်မြှင့်ပြီးနောက် ပရောက်စီပြဿနာ
အဆင့်မြှင့်ပြီးနောက် ပရောက်စီ workaround သို့မဟုတ် Wagon သီးသန့်ရွေးချယ်မှု မလုပ်တော့ပါက Maven HTTP transport ကို စစ်ဆေးပါ။
Maven 3.9.0 သည် Resolver ၏ မူလ HTTP transport ကို Wagon မှ native HTTP သို့ ပြောင်းလိုက်သည်။ ပရောက်စီ URL မပြောင်းသော်လည်း Wagon သီးသန့် workaround အဟောင်းသည် repository တောင်းဆိုမှုများကို ထိန်းချုပ်ခြင်း ရပ်တန့်နိုင်သည်။
လက်ရှိ Maven ဗားရှင်း၊ settings.xml အတွင်းရှိ အသုံးပြုနေသော ပရောက်စီဖွဲ့စည်းပုံ နှင့် ရွေးချယ်ထားသော Resolver transport ကို စစ်ဆေးပါ။ JVM က -D အငြင်းပွားချက်ကို လက်ခံသည်ဆိုခြင်းဖြင့် HTTP client သည် ထို property ကို အသုံးပြုသည်ဟု မဆိုနိုင်ပါ။
မှတ်တမ်းတင်ထားသော selector ကို ပံ့ပိုးသည့် Maven 3.9 release များတွင် ဤနှိုင်းယှဉ်မှုက Wagon ကို တောင်းဆိုသည်။
mvn -Dmaven.resolver.transport=wagon dependency:resolveတူညီသော project နှင့် ခွင့်ပြုထားသော endpoint အတွက် dependencies ကို အမှန်တကယ် ဒေါင်းလုဒ်လုပ်လိုသည့်အခါမှသာ ပြုလုပ်ပါ။ ၎င်းသည် configuration query မဟုတ်ဘဲ ကွန်ယက်လုပ်ဆောင်ချက်ဖြစ်သည်။ ရလဒ်ကွဲပြားခြင်းသည် implementation ကွာခြားမှုကို ကန့်သတ်ပေးသော်လည်း Wagon ကို အမြဲတမ်းဖြေရှင်းချက်အဖြစ် မပြောင်းလဲပေးပါ။ Maven 4 သို့မဟုတ် အနာဂတ်ဗားရှင်းနှင့် selector သုံးမီ ပံ့ပိုးထားသောအမည်များကို စစ်ဆေးပါ။
တကယ့် challenge နှင့် error stage ကို မှတ်သားပါ။ Browser authentication သည် မည်သည့် Maven transport မဆို NTLM ပံ့ပိုးသည်ဟု မသက်သေပြပါ။ 407၊ certificate rejection၊ repository မရနိုင်ခြင်းနှင့် timeout တို့အတွက် ပြင်ဆင်မှုကွဲပြားသည်။ Pool သို့မဟုတ် time option ထည့်ခြင်း၊ mirror နှင့် artifact version ပြောင်းခြင်း မပြုမီ version၊ transport၊ proxy method နှင့် ပြန်လည်လုပ်ဆောင်နိုင်သည့် အနည်းဆုံး operation ကို ရေးပါ။ ရွေးချယ်ထားသော လမ်းကြောင်းနှင့် configuration အတွက် အသုံးဝင်သော စစ်ဆေးရေးအစီရင်ခံစာ ကို ကြည့်ပါ။