Kailangang maabot ng Maven ang proxy plugin bago nito ito mapatakbo
Unawain ang suliranin sa bootstrap kapag nangangako ang isang plugin ng Maven na matuklasan ang proxy ngunit hindi malutas ang sarili nitong mga artefact.
Mukhang mainam ang awtomatikong proxy plugin para sa laptop na gumagalaw sa pagitan ng mga network. Ngunit may isang mahirap na unang kahilingan: maaaring kailanganin ng Maven ang proxy upang makuha ang plugin mismo.
Ang target ng plugin ay tumatakbo lamang pagkatapos malutas at ma-load ng Maven ang implementasyon nito at ang mga kinakailangang artefact. Ang pagtuklas ng proxy sa loob ng implementasyong iyon ay hindi makatutulong sa download na nabigo bago pa magsimula ang implementasyon. Ang paggamit ng ganap na kwalipikadong mga coordinate ng plugin ay makaiiwas sa paghahanap na may prefix; ngunit hindi nito ginagawang lumitaw ang artefact ng plugin sa isang walang laman na lokal na repositoryo.
Inilalarawan ng lumang Autoproxy Maven plugin ang pagkakaiba. Inilalarawan ng README nito ang pagtuklas ng proxy sa pamamagitan ng proxy-vole, ngunit inilalarawan din ang lokal na pag-install ng plugin bago tawagin ang target nito. Ituring iyon na paunang kundisyon ng partikular na disenyong iyon, hindi bilang patunay na pangkalahatang binabasa ng Maven ang mga setting ng PAC ng browser.
Bigyan ng malinaw na ruta ang unang resolusyon
Para sa network kung saan ang pag-access sa repositoryo ay nangangailangan ng HTTP proxy, i-configure ang naaangkop na aktibong proxy sa mga setting ng Maven na ginagamit ng invocation na iyon. Para sa pinapayagang bootstrap mula sa pampublikong repositoryo, pumili ng HTTP candidate mula sa listahan ng HTTP proxy. Ang isang aprubadong panloob na repositoryo na maaabot nang walang panlabas na ruta ay maaari ring malutas ang unang suliranin sa pag-access. Alinman sa mga diskarte ay dapat sumaklaw sa plugin at sa mga dependency nito, hindi lamang sa mga dependency ng aplikasyon.
Ang isang lokal na repositoryo na napunan na ay maaaring magtago ng pangangailangan sa bootstrap. Ang tagumpay sa laptop ng isang developer ay hindi nagpapatunay na ang isang bagong CI account ay makapagsisimula ng parehong build. Tingnan ang artefact at yugto na nabigo bago baguhin ang lohika ng pagtuklas ng plugin.
Pagkatapos ma-load ang plugin, ang mamaya na pagkabigo ng dependency ay nagiging hiwalay na tanong: kung tama ang natuklasang ruta at kung ginagamit ng aktibong transport ng Maven ang mga resultang setting. Panatilihing hiwalay ang dalawang puntong iyon ng pagkabigo kapag nagpapasya kung sulit panatilihin ang awtomatikong pagtuklas.