what is maven maven tutorial
Aquest tutorial introductori de Maven explicarà què és Maven, per què utilitzar Maven, la seva definició, les terminologies bàsiques, els tipus de dipòsit de Maven, etc.:
En aquest tutorial, explorarem Maven, la seva definició, visió general, els passos operatius de Maven i comprendreem les terminologies bàsiques de Maven, les activitats realitzades per Maven i els tipus de dipòsits de Maven en detall.
Comencem!!
Llista de tutorials d'aquesta sèrie Maven
Tutorial # 1: Què és Maven: tutorial de Maven per a principiants (Aquest tutorial)
Tutorial # 2: Què són POM (Project Object Model) i Pom.Xml a Maven
Tutorial # 3: Complements de Gradle Vs Maven i Maven
Tutorial # 4: Dependència i integració de Maven amb Eclipse i TestNG
Tutorial # 5: Maven amb documentació de Jenkins i Maven per a projectes
Tutorial # 6: 31 Preguntes i respostes a les entrevistes més freqüents de Maven
Què aprendreu:
Què és Maven
Maven és una eina de construcció i gestió de projectes que s'utilitza generalment en frameworks construïts a Java. Està desenvolupat per Apache Software Foundation. Maven, una paraula de la llengua yiddish, significa ‘recol·lector de coneixement’. Es va introduir per fer el procés d’activació de la construcció en Jakarta Turbine Project.
Maven està controlat pel fitxer Model Object Project (pom). Mentre treballem amb frameworks Java integrats, sovint hem de fer front a diverses dependències.
Abans que Maven entri a la imatge, totes les dependències, que no són res més que fitxers JAR, s’havien d’afegir manualment al nostre framework. A més, necessitàvem tenir cura de l’actualització de programari del nostre projecte.
creeu un nou projecte Java en eclipsi
Maven garanteix que els JAR i les biblioteques del projecte es descarreguin automàticament. Només cal descriure la informació relativa a les versions del programari i al tipus de dependències al fitxer pom .xml.
Maven es pot encarregar de projectes en Ruby, C # i altres idiomes. Assumeix la tasca de construir projectes, les seves dependències i la documentació.
ANT, una altra eina desenvolupada per Apache Software Foundation, també s'utilitza per a la creació i el desplegament de projectes. Però Maven està més avançat que ANT. Igual que ANT, Maven ha simplificat el procés de construcció. Així, en definitiva, Maven ha facilitat la vida dels desenvolupadors.
Per què utilitzar Maven?
Maven realitza les activitats següents:
- Dipòsit per obtenir les dependències.
- Tenir una estructura de carpetes similar a tota l'organització.
- Integració amb eines d’integració contínua com Jenkins.
- Connectors per a l'execució de proves.
- Ofereix informació sobre com es desenvolupa el programari / projecte.
- El procés de construcció es fa més senzill i coherent.
- Proporciona pautes per a les millors pràctiques a seguir en el projecte.
- Millora el rendiment del projecte.
- Fàcil de passar a nous atributs de Maven.
- Integració amb eines de control de versions com Git.
Maven s'encarrega de processos com ara versions, distribució, informes, compilacions, documentació i SCM. Maven es connecta al dipòsit de Maven Central i els carrega al local. Alguns dels IDE que donen suport al desenvolupament de projectes amb Maven són NetBeans, Eclipse, IntelliJ, etc.
Maven s’ha d’utilitzar en els nostres projectes en els següents escenaris:
- Si el projecte requereix un gran nombre de dependències.
- Si la versió de les dependències necessita una actualització freqüent.
- Si el projecte ha de tenir documentació ràpida, compilació i empaquetament del codi font en fitxers JAR o ZIP.
Passos operatius de Maven
# 1) Primer Maven repassa el fitxer POM .xml.
# 2) Les dependències es carreguen al dipòsit local.
# 3) Passa pels cicles de vida integrats de Maven com es mostra a continuació:
- Valor per defecte: S'encarrega del desplegament del projecte.
- Neteja: Elimina els errors, neteja el projecte i elimina l’artefacte produït amb el procés anterior de la construcció.
- Lloc: S'encarrega de la documentació del projecte.
# 4) Cada cicle incorporat té diverses fases. Per exemple, el valor predeterminat té vint-i-tres fases, mentre que el lloc net té tres i quatre fases, respectivament.
# 5) Cada cicle de Maven passa per diverses etapes en què una etapa concreta té un objectiu específic.
A continuació es detallen algunes de les fases importants:
- Validar: Verifica si totes les dades de requisits previs per completar la compilació estan disponibles.
- Compila: Es compila el codi font.
- Prova- compila: Es compila el codi font de prova.
- Prova: S’executen casos de proves unitàries.
- Paquet: El codi font es compila i s’empaqueta en fitxers JAR o ZIP.
- Prova d'integració: El paquet es desplega i, si hi ha algun problema, s'executen els casos de prova d'integració.
- Paquet d'instal·lació: S'instal·la al dipòsit local.
- Desplega: Es proporciona una còpia del paquet des del dipòsit remot.
Aquestes fases s’han d’executar per ordre. A més, si el desplegar fase, és a dir, la fase final del cicle de Maven s’ha d’executar i totes les fases anteriors a aquest cicle s’han de completar amb èxit.
Des del símbol del sistema, les fases s’executen de la manera següent:
mvn , per exemple, validar mvn
# 6) Un grup d'objectius de Maven forma una fase. Igual que les fases de Maven, cada objectiu s'ha d'executar en un ordre específic.
Un objectiu té la sintaxi següent:
Connector: objectiu
Aquí hem comentat algunes de les fases i els objectius que s’hi relacionen:
- compilador: compila (s'utilitza en la fase de compilació)
- compilador: prova (utilitzat en la fase de compilació de proves)
- surefire: test (utilitzat en la fase de proves)
- install: install (utilitzat en la fase d'instal·lació)
- pot: guerra (s'utilitza en la fase d'envasament)
- guerra: guerra (s'utilitza en la fase d'envasament)
Els passos operatius de com funciona Maven es mostren esquemàticament a continuació:
Terminologies a Maven
- POM : Significa Model d'objectes de projecte. És un fitxer XML que conté la informació sobre el projecte, les dependències presents al projecte, el directori del fitxer font, la informació del connector, etc. Aquestes són les dades necessàries perquè Maven construeixi completament el projecte. Maven llegeix el fitxer pom per obtenir tota aquesta informació.
A continuació es mostra el projecte Maven a Eclipse IDE amb un fragment de codi del fitxer XML POM.
- GroupId : Reconeix el nostre projecte de manera única de tots els projectes. GroupId és una part del fitxer pom. Sovint es diu com una identitat per al grup de projectes.
- ArtifactId : Un fitxer jar que es desplega al dipòsit Maven. ArtifactId és una part del fitxer pom. Sovint es diu com a identitat i nom del nostre projecte.
- Versió : Especifica la versió del pot del projecte. La versió també forma part del fitxer pom.
Tal com es mostra a la imatge superior, ho podem veure i les etiquetes formen part de les dependències definides per al projecte.
- Dipòsit central de Maven : És el marcador de posició on hi ha els pots, les biblioteques, els connectors i les dades de configuració requerits per Maven per construir el projecte.
Si volem afegir dependències de Selenium al nostre projecte, hem de tenir el fragment de codi següent al fitxer pom.
org.seleniumhq.selenium selenium-java 4.0.0-alpha-5
Dels múltiples projectes elevats al dipòsit central de Maven, identifica Selenium amb l’ajut del groupId. De la mateixa manera, ArtifactId és com un subprojecte del grup ID.
Per exemple, El codi de seleni és compatible amb llenguatges com Java, C #, etc. Aquí, a partir de l’artifactId, és evident que només ens connectem als JAR associats amb Java. A més, la versió del JAR que s’ha d’associar al projecte també forma part de les dependències.
També podem publicar el nostre propi projecte al dipòsit de Maven proporcionant aquestes tres informacions.
Dipòsit de Maven
El dipòsit Maven pot ser de tres tipus:
- Dipòsit local
- Dipòsit remot
- Dipòsit central
Un cop Maven llegeix les dependències del fitxer POM, primer les busca al dipòsit local, després al central i, finalment, al dipòsit remot. Si les dependències no es troben en cap dels tres dipòsits, es notificarà a l'usuari un error i el procés s'aturarà.
# 1) Dipòsit local de Maven
El dipòsit local es troba al nostre sistema local, principalment a .m2 (C: / Users / superdev /.m2) directori que mostra la seva presència un cop Maven està instal·lat al nostre sistema i hem pogut executar amb èxit una ordre Maven.
També és possible modificar aquesta ubicació a settings.xml (MAVEN_HOME / conf /settings.xml) amb l'ajuda de localRepository etiqueta.
A sota del fragment de codi XML, es mostra com es canvien les ubicacions del dipòsit local:
C: Maven m2 # 2) Dipòsit central de Maven
Dipòsit central està desenvolupat pel grup Apache Maven i està allotjat al web. Aquest es considera el dipòsit central i té totes les biblioteques comunes. Igual que un dipòsit local, també podem modificar la ubicació on es descarregaran per defecte canviant setting.xml.
# 3) Dipòsit remot Maven
El dipòsit remot també s’allotja al web. En alguns casos, una empresa pot desenvolupar el seu propi dipòsit remot i realitzar desplegaments en els seus projectes privats. Aquests seran propietat d’aquesta empresa específica i només es podran operar dins d’aquesta empresa.
programari que s’instal·la en un ordinador i s’utilitza per gestionar màquines virtuals
El dipòsit remot té patrons de treball similars a un dipòsit central. Sempre que es requereixin dependències o configuracions d'aquests repositoris, primer es descarregaran al nostre local i després s'utilitzaran.
A continuació es mostra un exemple de codi XML per al dipòsit remot amb l'identificador i l'URL.
com.src.repository http://maven.comp.com/maven2/
Conclusió
Esperem que tingueu una idea clara de què és Maven, per què fem servir Maven, passos operatius de Maven, cicles de Maven, fases, objectius, terminologies bàsiques de Maven i els tipus de dipòsits de Maven.
En el nostre següent tutorial, explorarem com construir un projecte a Maven, l'entorn configurat per Maven i molts altres temes relacionats.
Lectura recomanada
- Integració de Maven amb TestNg mitjançant el connector Maven Surefire
- Tutorial AWS CodeBuild: extracció de codi de Maven Build
- Configuració de Maven amb Eclipse Java IDE
- Què són POM (Project Object Model) i pom.xml a Maven
- Complements de Gradle Vs Maven i Maven
- Maven amb documentació de Jenkins i Maven per a projectes
- 31 Preguntes i respostes a les entrevistes més freqüents de Maven
- Dependència i integració de Maven amb Eclipse i TestNG