Hogyan használhatom a maven-et olyan könyvtárakhoz, amelyek nem a mavenben vannak?

Ebben a cikkben megmutatom, hogyan csatlakoztasson egy olyan könyvtárat, amely nem rendelkezik alapértelmezettséggel a maven-ben, és hogyan csatlakozhat egy másik könyvtárhoz, amelynek forrásai régóta elveszettek.

Azt is leírom, hogyan készítsünk egy maven projektet, amely egy könyvtár részét képező tárgyat hoz létre, és hogyan kapcsolja össze ezt a könyvtárat egy másik maven projekthez.

Hogyan használhatom a maven-et olyan könyvtárakhoz, amelyek nem a mavenben vannak?

A korábbi cikkemben azt mondták, hogy a maven maga a pom.xml-ben feltüntetett függőségeket letölti. De mi fog történni, ha nem talál függőséget? Ebben az esetben a maven azt fogja mondani, hogy a függõséget nem észleli, és hibát okoz a megépítés folyamatában. Mi a teendő ebben az esetben?

Ez a kérdés valójában több kérdésre tagolódik, amelyek mindegyikét külön kell kezelni. A megoldás kiválasztását az a függvény határozza meg, ahol ez a függőség.

A függőség az interneten egy helyen lehet, amelyről a maven nem tudja. Ez is lehet egy jar fájl a kezedben, és végül forráskód formájában, amelyet maven projektként terveztek.

E három ügyről beszélünk.

De először meg kell röviden tisztázni egy kérdést.

Ahol a maven a könyvtárakat lendíti

Mi van akkor, ha a könyvtár alapértelmezés szerint nem létezik a távoli tárhelyen, de egy másik távoli tárolóban van?

Az első és valószínűleg a leggyakoribb probléma akkor fordul elő, ha nincs ilyen könyvtár az alapértelmezett adattárban, vagy ha a készletből a gépen található tároló nem érhető el, például biztonsági okokból.

Hogyan adhat meg egy mavenet egy projekthez, ahol további tárat kereshet

Ezután csatlakoztattuk a tavaszi projekttárat, amelyben megtalálhatóak a könyvtárcsalád legújabb verziói. Így néz ki belülről a pom.xml

Most maven, amikor alapértelmezés szerint nem találja a függőséget a repositoryban, vagy azt találja, hogy nem áll rendelkezésre - nem pánikol, hanem keres egy könyvtárat egy másik repositóriumban, és ha minden megy a terv szerint, megtalálja ott.

De előfordul, hogy nincsenek könyvtárak a tárban. Például, ha ez az illesztőprogram az MSSQL-hez, vagy ha egy saját könyvtár, amelyet nemrég vásároltál sok pénzt.

Hogyan csatlakozhat egy rejtvénytár nélküli könyvtárhoz?

Számos módon csatlakoztathat ilyen könyvtárat. Például ha rendelkezik saját tárházával a helyi hálózaton, akkor (és néha még szükség is van), helyezze be a könyvtárat, és így csökkentse a feladatot az előzőhöz.

De ha lehetséges, akkor jobb, ha ilyen könyvtárat helyez a projektbe, és tárolja közvetlenül a verziókezelő rendszerben. Ezután a könyvtár mindig elérhető lesz a programra, és bármelyik gépen, és a könyvtár átmásolásának lépése a tárolóba nem szerepelhet a kézikönyvben.

Az ilyen esetek kezelésére a maven rendszeres mechanizmussal is rendelkezik. Most megtudtuk, hogyan adhatjuk meg az alapértelmezésen kívül egy távoli tárhelyet. Tehát nem kell távoli adattárat használni. Létrehozhatod a helyi fájlrendszeren tárolt adattárat, beillesztheted a könyvtárat, és utasíthatod a mavenet, hogy ott is keresse a függőségeket.

A helyi adattár létrehozása

Ehhez a fentiekhez hasonlóan a maven rendelkezik személyzeti eszközzel.

Tegyük fel, hogy egy olyan könyvtárunk van, amely egy hello-world-library-1.0-SNAPSHOT.jar könyvtárban található. A könyvtárról tudjuk, hogy benne van egy HelloWorld osztály, amely magában foglalja a statikus módszert, írja be a konzolt, mivel könnyű kitalálni, Hello World.

Létrehozunk egy lib könyvtárat a projektkönyvtárban, amelyben további tárhelyünk található, és elhelyezzük a könyvtárat. Ehhez elegendő a következő parancs végrehajtása a projektkönyvtárban.

Ha Windows operációs rendszert használ, cserélje ki a ^ -ot, vagyis írja le

Vagy egyszerűen eltávolíthat és írhat egy parancsot egy sorban.

Figyelj rá, mint bármely más műtárgyra, a könyvtárhoz szükségünk van a groupId, artectId és verzió létrehozására. Miután összekapcsoljuk a függõséget, akkor pontosítjuk a pom.xml-re.

A parancsnoki könyvtár belsejében van egy teljes tárhely, amelyhez elegendő a maven helymeghatározása, ahol található. A frissen létrehozott adattár könyvtárstruktúrájában közvetlenül megtalálható minden információ arról, hogy mely könyvtárak találhatók. Az adattár későbbi használatához például más gépeken a telepítési fájl parancsát nem kell végrehajtani.

Annak érdekében, hogy tudni lehessen a projektnek, hogy a repository létezik, és megmutatja, hol van, akkor már leírták az utat, bár a helyi adattárház módosításával.

Ügyeljen az ötödik vonalra

Azt mondja, hogy a projektkönyvtárban kell keresni a repository-ot, amelyet a beépített változó maven project.basedir jelez.

A könyvtárat használó osztály rendkívül egyszerű, de a kód sorrendjében.

Továbbra is hozzá kell adni a pom.xml függõséget, és összegyûjtheti a projektet.

A lib könyvtárnak zakomitit kell, és a könyvtár mindenkor elérhető lesz a projekt számára.

Azonban egy szabályt fel kell jegyezni.

Frissítse a könyvtár verziószámát a helyi adattárban, amikor megváltoztatja a jar fájlt

A Maven külső tárolóként kezeli a tárolókat, ezért ha nem változtatja meg a verziószámot, akkor a maven nem használja a könyvtár verzióját a lib könyvtárból, hanem az, amelyet a helyi gépen tárolt. Ebben a konkrét esetben ez nem játszhat szerepet a SNAPSHOT utótag miatt, de tudnia kell erről.

Van egy másik gyakori forgatókönyv. Van saját könyvtárod, amelyet összeépítesz a maven-el, és csatlakozol egy másik maven projekthez.

Hogyan készítsünk java könyvtárat?

Egy könyvtár létrehozásához elegendő egy osztályt írni a módosítóval. És akkor használhatja ezt az osztályt a kódban, amelyhez a könyvtár csatlakozik.

Itt például, például egy osztály.

Most olyan maven-projektet kell készítenie, amely összeállítja ezt az osztályt tartalmazó könyvtárat.

Mint emlékszünk, a maven szempontjából a könyvtár csak egy tárgy, ezért a Pomel triviálisnak tűnik.

Tehát van statikus módszerrel rendelkező osztályunk, van egy leírása a maven tárgyáról. Ez a kód csak akkor fordítható le, ha egy könyvtárat, vagyis egy jar fájlt hoz létre.

Csak írj a konzolba:

Ezután egy névvel ellátott fájl jelenik meg a célkönyvtárban. -.jar. konkrét esetben - hello-world-library-1.0-SNAPSHOT.jar. amely a könyvtár.

Hogyan lehet újonnan létrehozott könyvtárat csatlakoztatni a maven projekthez?

Annak érdekében, hogy a könyvtár kapcsolódhat egy másik projekthez, a csomag helyett telepítenie kell a telepítést.

Ezt a könyvtári kód minden egyes módosítása után és minden olyan számítógépen meg kell csinálni, amelyen a könyvtárat használni szeretnénk.

Most készíthet egy új projektet, amely a könyvtárat fogja használni.

A projektben egy osztály fogja használni a statikus módszert a könyvtárból a Hello világnak. Már láttuk ezt az osztályt.

Nézzük még egyszer:

Nem rosszabb, mint az előző változat!

Mi van akkor, ha a könyvtár egy másik könyvtárat használ?

A kérdés, úgy tűnik, hülyeség, de abban az esetben, kísérletet fogunk végezni.

Vegyünk egy könyvtárat nem üres függőséggel.

és írj egy kódot

Most összeszedjük

Menjünk át a könyvtárba a projektünk segítségével, amely ezt a könyvtárat használja, és megpróbálja összegyűjteni és futtatni.

Hogy működik

Szigorúan szólva tudod, hogy a folyamat belsejében van, nem feltétlenül, de mégis nagyon hasznos.

Az mvn install parancs összegyűjti a könyvtárat, majd alapértelmezés szerint a helyi adattárba helyezi. Vagyis ugyanazon a helyen, ahol minden olyan könyvtár, amelyre valaha csatlakozott a maven projektekhez, kivéve, természetesen, azok, amelyek a helyi raktárban vannak, amit Ön személyesen készített.

Ezután egy projekt létrehozása során, amely ezt a könyvtárat használja, a maven keresni fogja a helyi adattárban, megtalálja és összekapcsolja azt.

  • A Maven a távoli alapértelmezett tárhely könyvtárait keresi.
  • Az alapértelmezett adattárban nem szereplő könyvtár csatlakoztatásához további távoli adattárakat adhat meg, majd a maven könyvtárakat is keres.
  • Ha nincs távoli tárolóban könyvtár, létrehozhat egy helyi adattárat a natív maven-mechanizmus használatával és hozzáadhatja a pom.xml-hez.
  • A projekt forráskódjában lévő repository frissítése során mindig módosítania kell a könyvtár verzióját, különben zavaros problémákat okozhat.
  • Ha van egy maven projekt, akkor készíthetsz egy könyvtárat az mvn csomag parancs használatával.
  • Az mvn telepítési parancs segítségével a könyvtárat alapértelmezés szerint a helyi adattárba telepítheti.
  • Ha egy könyvtárat szeretne használni egy másik projektben, elegendő megadni a függvényt a pom.xml fájlban.

Kapcsolódó cikkek