În primul rând, aș dori să trimit un omagiu acestui utilizator anonim stackoverflow - sunt sigur că am văzut acest răspuns înainte, dar acum nu îl găsesc.
Cea mai bună opțiune pentru fișierele jar locale ca dependență este de a crea un depozit local Maven. Acest repo nu este altceva decât structura corectă a directoarelor cu fișiere pom.
În exemplul meu: am un proiect de master în locația $ a subproiect1 - $ / $
Apoi creez un depozit mvn în: $ / local-maven-repo
Fișierul POM în $ / $ / pom.xml trebuie să fie $ / $ / pom.xml depozit $ / $ / pom.xml care va folosi calea de fișier ca un URL parametru:
Dependența poate fi specificată ca și pentru orice alt depozit. Acest lucru face ca depozitul dvs. de pom să fie independent. De exemplu, odată ce banca dorită este disponibilă în centrul centrului maven, trebuie doar să o eliminați din repo-ul local și va fi scoasă din repo în mod implicit.
Nu în ultimul rând, adăugați fișierul jar la depozitul local folosind comutatorul -DlocalRepositoryPath, după cum urmează:
Un fișier de borcan este instalat în așa fel încât mvn-repo să poată fi legat la depozitul de coduri, iar întreaga configurație este independentă de sistem. (Exemplu de lucru în github)
Creați un folder nou, spuneți local-maven-repo în rădăcina proiectului dvs. Maven.
Doar adăugați un repo local în cadrul dvs.
Apoi, pentru fiecare bancă externă pe care doriți să o instalați, mergeți la rădăcina proiectului și executați:
Da, o puteți avea, dar nu este o idee bună.
În schimb, instalați toate aceste bănci în repo-urile Maven
Pentru a instala o bancă terță parte, vă rugăm să apelați comanda așa cum se arată mai jos.
Un alt caz interesant este atunci când doriți să aveți bănci private în proiectul dvs. S-ar putea să doriți să păstrați capacitățile Maven pentru rezolvarea dependențelor tranzitorii. Soluția este destul de simplă.
- Creați dosare în proiectul dvs.
Adăugați următoarele linii în fișierul pom.xml
Deschideți folderul .m2 / repository și copiați structura directorului de proiect pe care doriți să o importați în folderul libs.
De exemplu, să presupunem că doriți să importați o dependență
Rulați doar .m2 / repository și veți vedea următorul dosar
com / MyCompany / MyProject / 1.2.3
Copiați totul în dosarul libs (din nou, inclusiv folderele din .m2 / repository) și ați terminat.
Folosirea plugin-ului maven-install în pompa părinte sau pom matinale sintetice funcționează pentru mine. Să presupunem că am pus fișierul jar în directorul lib al modulului părinte, trebuie doar să creăm o proprietate ca lib-path:
- Lib-path: $ / lib pentru pompa de bază
- Lib-path: / lib de la orice modul adițional
Apoi urmează modul în care @sphinks îl descrie mai sus, utilizând pluginul maven-install-plugin. Nu va exista nici un pas manual, iar artefactul poate fi adăugat ca orice alte dependențe la modulul auxiliar.
NB. De asemenea, puteți utiliza anumite pluginuri pentru a repara dosarul lib. Unii sugerează utilizarea pluginului Maven Directory