what is maven maven tutorial
Αυτό το εισαγωγικό σεμινάριο Maven θα εξηγήσει τι είναι το Maven, γιατί χρησιμοποιείτε το Maven, τον ορισμό του, τις βασικές ορολογίες, τους τύπους του αποθετηρίου Maven κ.λπ.
Σε αυτό το σεμινάριο, θα διερευνήσουμε το Maven, τον ορισμό του, την επισκόπηση, τα λειτουργικά βήματα στο Maven και θα κατανοήσουμε τις βασικές ορολογίες στο Maven, τις δραστηριότητες που εκτελούνται από το Maven και τους τύπους αποθετηρίων του Maven λεπτομερώς.
Ας αρχίσουμε!!
Λίστα μαθημάτων σε αυτή τη σειρά Maven
Εκμάθηση # 1: Τι είναι το Maven - Maven Tutorial για αρχάριους (Αυτό το σεμινάριο)
Εκμάθηση # 2: Τι είναι το POM (Project Object Model) και το Pom.Xml In Maven
Εκμάθηση # 3: Gradle Vs Maven και Maven Plugins
Εκμάθηση # 4: Εξάρτηση & ολοκλήρωση Maven με Eclipse και TestNG
Εκμάθηση # 5: Τεκμηρίωση Maven With Jenkins & Maven για έργα
Εκμάθηση # 6: 31 Συνήθεις ερωτήσεις και απαντήσεις για τη συνέντευξη Maven
Τι θα μάθετε:
Τι είναι το Maven
Το Maven είναι ένα εργαλείο κατασκευής και διαχείρισης έργων που χρησιμοποιείται γενικά σε πλαίσια που είναι κατασκευασμένα στην Java. Αναπτύχθηκε από το Apache Software Foundation. Το Maven, μια λέξη από τη γλώσσα Yiddish, σημαίνει «συλλέκτη γνώσης». Παρουσιάστηκε για να κάνει τη διαδικασία ενεργοποίησης κατασκευής στο Τζακάρτα τουρμπίνα έργου.
Το Maven ελέγχεται από το αρχείο Project Object Model (pom). Ενώ εργαζόμαστε με ενσωματωμένα Java πλαισίων, συχνά πρέπει να αντιμετωπίσουμε ορισμένες εξαρτήσεις.
Πριν το Maven μπήκε στην εικόνα, όλες οι εξαρτήσεις, που δεν είναι τίποτα άλλο από αρχεία JAR έπρεπε να προστεθούν στο πλαίσιο μας χειροκίνητα. Επίσης, έπρεπε να φροντίσουμε για την αναβάθμιση του λογισμικού στο έργο μας.
αλγόριθμος apriori στην εξόρυξη δεδομένων με παράδειγμα
Το Maven διασφαλίζει την αυτόματη λήψη των έργων JAR και βιβλιοθηκών. Μόνο οι πληροφορίες που σχετίζονται με τις εκδόσεις του λογισμικού και τον τύπο των εξαρτήσεων πρέπει να περιγραφούν στο αρχείο pom .xml.
Ο Maven μπορεί να αναλάβει έργα σε Ruby, C # και σε άλλες γλώσσες. Αναλαμβάνει το έργο της κατασκευής έργων, των εξαρτήσεων τους και της τεκμηρίωσης.
Το ANT, ένα άλλο εργαλείο που αναπτύχθηκε από το Apache Software Foundation, χρησιμοποιείται επίσης για την κατασκευή και ανάπτυξη έργων. Αλλά ο Maven είναι πιο προχωρημένος από το ANT. Όπως και η ANT, ο Maven έκανε τη διαδικασία κατασκευής απλή. Έτσι, εν συντομία, ο Maven έκανε τη ζωή των προγραμματιστών εύκολη.
Γιατί να χρησιμοποιήσετε το Maven
Ο Maven εκτελεί τις παρακάτω δραστηριότητες:
- Αποθήκη για να λάβετε τις εξαρτήσεις.
- Έχοντας μια παρόμοια δομή φακέλων σε ολόκληρο τον οργανισμό.
- Ενσωμάτωση με εργαλεία συνεχούς ολοκλήρωσης όπως η Jenkins.
- Πρόσθετα για εκτέλεση δοκιμής.
- Παρέχει πληροφορίες σχετικά με τον τρόπο ανάπτυξης του λογισμικού / έργου.
- Η διαδικασία κατασκευής γίνεται απλούστερη και συνεπής.
- Παρέχει οδηγίες για τις βέλτιστες πρακτικές που πρέπει να ακολουθούνται στο έργο.
- Βελτιώνει την απόδοση του έργου.
- Εύκολη μετάβαση σε νέα χαρακτηριστικά του Maven.
- Ενσωμάτωση με εργαλεία ελέγχου εκδόσεων όπως το Git.
Ο Maven αναλαμβάνει διαδικασίες όπως εκδόσεις, διανομή, αναφορές, εκδόσεις, τεκμηρίωση και SCM. Το Maven συνδέεται με το αποθετήριο Maven Central και τα φορτώνει στα τοπικά. Μερικά από τα IDE που υποστηρίζουν την ανάπτυξη έργων με το Maven είναι τα NetBeans, Eclipse, IntelliJ και ούτω καθεξής.
Το Maven πρέπει να χρησιμοποιείται στα έργα μας στα ακόλουθα σενάρια:
- Εάν το έργο απαιτεί μεγάλο αριθμό εξαρτήσεων.
- Εάν η έκδοση των εξαρτήσεων χρειάζεται συχνή αναβάθμιση.
- Εάν το έργο πρέπει να έχει γρήγορη τεκμηρίωση, συλλογή και συσκευασία του πηγαίου κώδικα σε αρχεία JAR ή ZIP.
Λειτουργικά βήματα του Maven
# 1) Το First Maven περνά από το αρχείο POM .xml.
#δύο) Οι εξαρτήσεις φορτώνονται στο τοπικό αποθετήριο.
# 3) Περνάει από τους ενσωματωμένους κύκλους ζωής του Maven όπως φαίνεται παρακάτω:
- Προκαθορισμένο: Φροντίζει για την ανάπτυξη του έργου.
- ΚΑΘΑΡΗ: Καταργεί τυχόν λάθη, καθαρίζει έτσι το έργο και αφαιρεί το τεχνούργημα που δημιουργήθηκε από την προηγούμενη διαδικασία της κατασκευής.
- Ιστοσελίδα: Φροντίζει την τεκμηρίωση του έργου.
# 4) Κάθε ενσωματωμένος κύκλος έχει διάφορες φάσεις. Για παράδειγμα, Η προεπιλογή έχει είκοσι τρεις φάσεις ενώ η καθαρή και η τοποθεσία έχει τρεις και τέσσερις φάσεις αντίστοιχα.
# 5) Κάθε κύκλος Maven περνά από διάφορα στάδια όπου ένα συγκεκριμένο στάδιο έχει έναν συγκεκριμένο στόχο.
Μερικές από τις σημαντικές φάσεις παρατίθενται παρακάτω:
- Επικυρώνω: Επαληθεύει εάν είναι διαθέσιμα όλα τα δεδομένα προϋποθέσεων για την ολοκλήρωση της έκδοσης.
- Συντάσσω: Συντάσσεται ο πηγαίος κώδικας.
- Δοκιμή - μεταγλώττιση: Συντάσσεται ο πηγαίος κώδικας δοκιμής.
- Δοκιμή: Εκτελούνται περιπτώσεις δοκιμής μονάδας.
- Πακέτο: Ο πηγαίος κώδικας συντάσσεται και συσκευάζεται σε αρχεία JAR ή ZIP.
- Ένταξη - δοκιμή: Το πακέτο έχει αναπτυχθεί και εάν υπάρχουν προβλήματα, εκτελούνται δοκιμές ενοποίησης.
- Εγκατάσταση-πακέτο: Είναι εγκατεστημένο στο τοπικό αποθετήριο.
- Παρατάσσω: Ένα αντίγραφο του πακέτου διατίθεται από το απομακρυσμένο αποθετήριο.
Αυτές οι φάσεις πρέπει να εκτελεστούν με τη σειρά. Επίσης, εάν το παρατάσσω φάση δηλ. η τελική φάση του κύκλου Maven πρέπει να εκτελεστεί και τότε όλες οι προηγούμενες φάσεις αυτού του κύκλου πρέπει να ολοκληρωθούν με επιτυχία.
Από τη γραμμή εντολών, οι φάσεις εκτελούνται με τον ακόλουθο τρόπο:
mvn , για παράδειγμα, επικύρωση mvn
# 6) Μια ομάδα στόχων Maven αποτελεί μια φάση. Ακριβώς όπως οι φάσεις του Maven, κάθε στόχος πρέπει να εκτελείται με συγκεκριμένη σειρά.
Ένας στόχος έχει την ακόλουθη σύνταξη:
Προσθήκη: στόχος
Εδώ, έχουμε συζητήσει μερικές από τις φάσεις μαζί με τους στόχους που τους συνδέονται:
- compiler: compile (χρησιμοποιείται στη φάση της συλλογής)
- μεταγλωττιστής: δοκιμή (χρησιμοποιείται στη φάση της συλλογής δοκιμών)
- surefire: δοκιμή (χρησιμοποιείται στη φάση δοκιμών)
- install: install (χρησιμοποιείται στη φάση εγκατάστασης)
- βάζο: πόλεμος (χρησιμοποιείται στη φάση της συσκευασίας)
- war: war (χρησιμοποιείται στη φάση της συσκευασίας)
Τα λειτουργικά βήματα του τρόπου λειτουργίας του Maven παρουσιάζονται διαγραμματικά παρακάτω:
Ορολογίες στο Maven
- Πομ : Σημαίνει το Project Object Model. Είναι ένα αρχείο XML που περιέχει τις πληροφορίες σχετικά με το έργο, τις εξαρτήσεις που υπάρχουν στο έργο, τον κατάλογο του αρχείου προέλευσης, τις πληροφορίες προσθηκών και ούτω καθεξής. Αυτά είναι τα απαραίτητα δεδομένα για το Maven για την πλήρη κατασκευή του έργου. Ο Maven διαβάζει το αρχείο pom για να πάρει όλες αυτές τις πληροφορίες.
Το έργο Maven στο Eclipse IDE με ένα απόσπασμα κώδικα από το αρχείο POM XML εμφανίζεται παρακάτω.
- Ομάδα : Αναγνωρίζει το έργο μας μοναδικά από όλα τα έργα. Το GroupId είναι μέρος του αρχείου pom. Λέγεται συχνά ως ταυτότητα για την ομάδα έργων.
- ArtifactId : Ένα αρχείο βάζων που αναπτύσσεται στο αποθετήριο Maven. Το ArtifactId είναι μέρος του αρχείου pom. Λέγεται συχνά ως ταυτότητα και όνομα του έργου μας.
- Εκδοχή : Καθορίζει την έκδοση του βάζου του έργου. Η έκδοση είναι επίσης μέρος του αρχείου pom.
Όπως απεικονίζεται στην παραπάνω εικόνα, μπορούμε να το δούμε αυτό και οι ετικέτες αποτελούν το μέρος των εξαρτήσεων που ορίζονται για το έργο.
- Κεντρικό αποθετήριο Maven : Αυτό το σύμβολο κράτησης θέσης όπου υπάρχουν βάζα, βιβλιοθήκες, πρόσθετα και δεδομένα διαμόρφωσης που απαιτούνται από το Maven για την κατασκευή του έργου.
Εάν θέλουμε να προσθέσουμε εξαρτήσεις Selenium στο έργο μας, τότε πρέπει να έχουμε το παρακάτω απόσπασμα κώδικα στο αρχείο pom.
org.seleniumhq.selenium selenium-java 4.0.0-alpha-5
Από τα πολλαπλά έργα που ανυψώθηκαν στο κεντρικό αποθετήριο του Maven, ταυτοποιεί το Σελήνιο με τη βοήθεια του groupId. Ομοίως, το ArtifactId μοιάζει με ένα υποέργο κάτω από το groupId.
unix ερωτήσεις και απαντήσεις συνέντευξης pdf
Για παράδειγμα, Ο κωδικός Selenium υποστηρίζεται από γλώσσες όπως Java, C # και ούτω καθεξής. Εδώ, από το artifactId, είναι προφανές ότι συνδέουμε μόνο τα JAR που σχετίζονται με την Java. Επίσης, η έκδοση του JAR που θα συσχετιστεί με το έργο είναι επίσης μέρος των εξαρτήσεων.
Μπορούμε επίσης να δημοσιεύσουμε το δικό μας έργο στο αποθετήριο Maven παρέχοντας αυτά τα τρία κομμάτια πληροφοριών.
Αποθήκη Maven
Το Maven Repository μπορεί να είναι τριών τύπων:
- Τοπικό αποθετήριο
- Απομακρυσμένο αποθετήριο
- Κεντρικό αποθετήριο
Μόλις ο Maven διαβάσει τις εξαρτήσεις από το αρχείο POM, τις αναζητά πρώτα στο τοπικό αποθετήριο, στη συνέχεια στο κεντρικό και τέλος στο απομακρυσμένο αποθετήριο. Εάν οι εξαρτήσεις δεν εντοπίζονται σε κανένα από τα τρία αποθετήρια, τότε ο χρήστης ειδοποιείται με σφάλμα και η διαδικασία διακόπτεται.
# 1) Τοπικό αποθετήριο Maven
Το τοπικό αποθετήριο βρίσκεται στο τοπικό μας σύστημα - κυρίως στο .μ2 (C: / Users / superdev /.m2) κατάλογος που δείχνει την παρουσία του μόλις εγκατασταθεί το Maven στο σύστημά μας και μπορέσαμε να εκτελέσουμε με επιτυχία μια εντολή Maven.
Είναι επίσης δυνατό να τροποποιήσετε αυτήν την τοποθεσία στο settings.xml (MAVEN_HOME / conf /settings.xml) με τη βοήθεια του localRepository ετικέτα.
Κάτω από το απόσπασμα κώδικα xml, δείχνει πώς μπορείτε να αλλάξετε τις τοποθεσίες του τοπικού αποθετηρίου:
C: Maven m2 # 2) Κεντρικό αποθετήριο Maven
Κεντρικό αποθετήριο αναπτύχθηκε από την ομάδα Apache Maven και φιλοξενείται στον Ιστό. Αυτό θεωρείται ως το κεντρικό αποθετήριο και έχει όλες τις κοινές βιβλιοθήκες. Όπως ένα τοπικό αποθετήριο, μπορούμε επίσης να τροποποιήσουμε την τοποθεσία από την οποία θα ληφθούν από προεπιλογή αλλάζοντας το setting.xml.
# 3) Απομακρυσμένο αποθετήριο Maven
Το απομακρυσμένο αποθετήριο φιλοξενείται επίσης στον Ιστό. Σε ορισμένα σενάρια, μια εταιρεία μπορεί να αναπτύξει το δικό της απομακρυσμένο αποθετήριο και να εκτελέσει αναπτύξεις σε ιδιωτικά έργα. Αυτά θα ανήκουν στη συγκεκριμένη εταιρεία και μπορούν να χρησιμοποιηθούν μόνο μέσα σε αυτήν.
Το απομακρυσμένο αποθετήριο έχει παρόμοια μοτίβα εργασίας, όπως ένα κεντρικό αποθετήριο. Όποτε απαιτούνται εξαρτήσεις ή διαμορφώσεις από αυτά τα αποθετήρια, πρέπει πρώτα να μεταφορτωθούν στο τοπικό μας και στη συνέχεια να χρησιμοποιηθούν.
Ένα δείγμα κώδικα xml για απομακρυσμένο αποθετήριο με το αναγνωριστικό και τη διεύθυνση url εμφανίζεται παρακάτω.
com.src.repository http://maven.comp.com/maven2/
συμπέρασμα
Ελπίζουμε να έχετε μια ξεκάθαρη ιδέα για το τι είναι το maven, γιατί χρησιμοποιούμε το Maven, λειτουργικά βήματα στο Maven, κύκλους του Maven, Φάσεις, στόχους, Βασικές ορολογίες στο Maven και τους τύπους αποθετηρίων του Maven.
Στο επόμενο σεμινάριό μας, θα διερευνήσουμε πώς να φτιάξουμε ένα έργο στο Maven, περιβάλλον που δημιουργήθηκε για το Maven και πολλά άλλα σχετικά θέματα.
Συνιστώμενη ανάγνωση
- Ενσωμάτωση του Maven με το TestNg χρησιμοποιώντας το Maven Surefire Plugin
- AWS CodeBuild Tutorial: Εξαγωγή κώδικα από το Maven Build
- Διαμόρφωση Maven με Eclipse Java IDE
- Τι είναι το POM (Πρότυπο αντικειμένου έργου) και το pom.xml In Maven
- Gradle Vs Maven και Maven Plugins
- Τεκμηρίωση Maven With Jenkins & Maven για έργα
- 31 Συνήθεις ερωτήσεις και απαντήσεις για τη συνέντευξη Maven
- Εξάρτηση & ολοκλήρωση Maven με Eclipse και TestNG