maven dependency integration with eclipse
Σε αυτό το σεμινάριο, θα συζητήσουμε λεπτομερώς την Ενσωμάτωση του Maven με το Eclipse και το TestNG, το Maven Dependency Scope και το Maven Deployment Automation:
Στο προηγούμενο σεμινάριο, συζητήσαμε τη σύγκριση μεταξύ Gradle vs Maven και Maven Plugins. Αυτό το σεμινάριο εξηγεί πώς να ενσωματώσετε το Maven με άλλα εργαλεία, την εξάρτηση του Maven και το Maven Deployment.
πού μπορώ να παρακολουθήσω δωρεάν anime online
Ας αρχίσουμε!
=> Επισκεφτείτε εδώ για τη σειρά αποκλειστικών εκπαιδευτικών εκπαιδευτικών Maven.
Τι θα μάθετε:
- Ενσωμάτωση του Maven με το Eclipse
- Ενσωμάτωση του Maven με το TestNG
- Πεδίο εξάρτησης Maven
- Αυτοματοποίηση ανάπτυξης Maven
- Πρόσθετο Maven Release
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Ενσωμάτωση του Maven με το Eclipse
Ο τρόπος ενσωμάτωσης του Maven με το Eclipse έχει ήδη συζητηθεί σε βάθος σχετικά με αυτό σελίδα
Σε ορισμένα σενάρια όπου δημιουργούμε ένα έργο Maven από τη γραμμή εντολών και πρέπει να φέρουμε αυτό το έργο στο Eclipse, τότε πρέπει να εκτελεστούν τα ακόλουθα βήματα.
# 1) Μεταβείτε στη θέση του αρχείου pom για το έργο Maven. Εκτελέστε την παρακάτω εντολή.
έκλειψη mvn: έκλειψη
# 2) .classpath και .έργο θα δημιουργηθεί στη θέση του έργου Maven.
Επαληθεύστε εάν το πρόσθετο Maven παρέχεται ήδη στο Eclipse από Windows => Προτιμήσεις , Ο Maven πρέπει να είναι παρών εκεί. Όλες οι τρέχουσες εκδόσεις του Eclipse έχουν τα Maven plugins από προεπιλογή και αν δεν υπάρχει, μπορούμε να το πάρουμε από εδώ .
# 3) Τώρα για να κάνετε το Maven και το Eclipse να λειτουργούν από κοινού, εισαγάγετε το έργο Maven από το Αρχείο. Στη συνέχεια, επιλέξτε το Υφιστάμενο έργο Maven.
# 4) Περιηγηθείτε στην τοποθεσία του έργου και προχωρήστε.

Η εικόνα που απεικονίζεται παραπάνω δείχνει το Maven Project που εισήχθη στο Eclipse.
Ενσωμάτωση του Maven με το TestNG
Ο τρόπος ενσωμάτωσης του Maven με το TestNG έχει συζητηθεί σε βάθος στην παρακάτω σελίδα.
=> Ενσωμάτωση του Maven με το TestNg χρησιμοποιώντας το Maven Surefire Plugin
Ενώ έχουμε ενσωματώσει το Maven με το TestNG στο έργο μας, ενδέχεται να υπάρχουν καταστάσεις όπου το έργο μας έχει περισσότερα από ένα αρχεία Testng xml. Για παράδειγμα, όλες οι λειτουργίες της σουίτας παλινδρόμησης περιγράφονται σε ένα testng.xml και οι περιπτώσεις δοκιμών λογικής περιγράφονται στο άλλο αρχείο testng.xml.
Σε μια τέτοια κατάσταση, πρέπει να χρησιμοποιήσουμε το Προφίλ έννοια στο Maven. Στο αρχείο pom, πρέπει να καθορίσουμε τα προφίλ. Καθένα είναι μέρος της ετικέτας και έχει συσχετιστεί με αυτήν.
Παρακάτω δίνεται ένα αρχείο pom.xml με απόσπασμα κώδικα προφίλ:
Regression org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngRegression.xml Sanity org.apache.maven.plugins maven-surefire-plugin 2.20.1 testngSanity.xml
Λάβετε υπόψη ότι έχουμε δύο παραπάνω προφίλ, που περιγράφονται παρακάτω και κάθε προφίλ έχει ένα αναγνωριστικό που σχετίζεται με αυτό. Για παράδειγμα, Οπισθοδρόμηση και Λογική επίσης, κάτω από το suiteXmlFiles, ορίσαμε το όνομα του αρχείου Testng xml που αντιστοιχεί στο αναγνωριστικό ( testngRegression.xml και testngSanity.xml ).
βίντεο για παρακολούθηση με ακουστικά vr
Έτσι έχουμε δύο προφίλ εδώ και μπορούμε να ελέγξουμε κάθε αρχείο Testng με τη βοήθεια ενός μόνο αρχείου pom.
Τώρα για να ενεργοποιήσετε μια δοκιμαστική υπόθεση για κάθε αρχείο Testng απευθείας από τη γραμμή εντολών, πρέπει να μετακινηθούμε στο φάκελο του έργου και να εκτελέσουμε την ακόλουθη εντολή.
mvn test –PRegression
Μόλις εκτελεστεί, ο Maven αναζητά το προφίλ με το αναγνωριστικό Regression και το αντίστοιχο testngRegression.xml αρχείο. Έτσι, εκτελούνται μόνο οι δοκιμές εκεί.
Ομοίως, για ένα προφίλ με αναγνωριστικό Sanity, η εντολή είναι:
mvn test –PSanity
Εδώ testngSanity.xml Το αρχείο χρησιμοποιείται για τον προσδιορισμό των δοκιμαστικών περιπτώσεων που θα εκτελεστούν. Έτσι, για την ενεργοποίηση ενός συγκεκριμένου συνόλου δοκιμαστικών περιπτώσεων, δεν χρειάζεται να τροποποιήσουμε το όνομα αρχείου TestNG στο pom, αλλά μπορεί εύκολα να επιτευχθεί διατηρώντας ξεχωριστά αρχεία TestNG.
Στο αρχείο pom, μπορούμε να χαρτογραφήσουμε αυτά τα αρχεία και τελικά να τα εκτελέσουμε με τη βοήθεια προφίλ στο Maven από τη γραμμή εντολών.
Πεδίο εξάρτησης Maven
Το Maven έχει συνολικά έξι πεδία όπως αναφέρονται παρακάτω.
- Υπό την προϋπόθεση
- Δοκιμή
- Σύστημα
- Εισαγωγή
- Συντάσσω
- Χρόνος εκτέλεσης
# 1) Πεδίο εκτέλεσης
Η εξάρτηση Maven έχει το εύρος ως το χρόνο εκτέλεσης και δεν χρησιμοποιείται για σκοπούς κατασκευής. Αποτελεί classpath για εκτέλεση και δοκιμή του έργου. Το παρακάτω απόσπασμα κώδικα δείχνει μια εξάρτηση εύρους χρόνου εκτέλεσης.
com.softwaretesting MavenJava 2.3 runtime
# 2) Εύρος συστήματος
Η εξάρτηση του Maven με πεδίο εφαρμογής ως σύστημα έχει ομοιότητα με το παρεχόμενο πεδίο. Δεν είναι δυνατή η λήψη εξαρτήσεων συστήματος από το απομακρυσμένο αποθετήριο και βρίσκονται γενικά στους καταλόγους του έργου. Το παρακάτω απόσπασμα κώδικα δείχνει μια εξάρτηση εύρους συστήματος.
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) Παρέχεται πεδίο εφαρμογής
Απαιτείται εξάρτηση από το Maven που έχει το πεδίο που παρέχεται για την κατασκευή και τον έλεγχο των έργων. Δεν συνιστάται η εξαγωγή αυτής της εξάρτησης, καθώς είναι διαθέσιμες κατά το χρόνο εκτέλεσης. Ωστόσο, αυτή η εξάρτηση απαιτείται για την εκτέλεση της έκδοσης. Το παρακάτω απόσπασμα κώδικα δείχνει μια παρεχόμενη εξάρτηση πεδίου.
com.test MavenJava2 5.1.1 provided
# 4) Πεδίο δοκιμής
Δεν απαιτείται εξάρτηση από το Maven που έχει το πεδίο της δοκιμής για την κατασκευή και τη λειτουργία του έργου. Χρησιμοποιούνται ουσιαστικά για τη μεταγλώττιση και τη λειτουργία των περιπτώσεων δοκιμής μονάδας. Το παρακάτω απόσπασμα κώδικα δείχνει μια εξάρτηση εύρους δοκιμής.
com.testing MavenJava3 1.0.2 test
# 5) Πεδίο εισαγωγής
Μέσα στο αρχείο pom, το εξάρτηση ενότητα περιέχει την εισαγωγή πεδίου. Αυτό σημαίνει ότι η εξάρτηση πρέπει να αλλάξει με την αποτελεσματική ομάδα εξαρτήσεων που παρέχονται στην ενότητα dependencyManagement του αρχείου pom. Το παρακάτω απόσπασμα κώδικα δείχνει μια εξάρτηση εύρους εισαγωγής.
com.testhelp MavenJava4 SNAP import pom
# 6) Εύρος μεταγλώττισης
Η εξάρτηση Maven που έχει το εύρος της μεταγλώττισης είναι η προεπιλεγμένη. Αυτή η εξάρτηση είναι απαραίτητη για την κατασκευή, τη δοκιμή και τη λειτουργία του έργου. Αυτό είναι κυρίως σημαντικό για την επίλυση του πηγαίου κώδικα Java με δηλώσεις εισαγωγής. Το παρακάτω απόσπασμα κώδικα δείχνει μια εξάρτηση μεταγλώττισης εύρους.
πόσους τύπους αρχείων υπάρχουν python
logging log 2.1.3 compile
Αυτοματοποίηση ανάπτυξης Maven
Η ανάπτυξη του έργου είναι μια κρίσιμη φάση και περιλαμβάνει πολλαπλά βήματα που ορίζονται παρακάτω:
- Ο κώδικας αναπτύχθηκε για έλεγχο στο αποθετήριο.
- Πηγαίος κώδικας για λήψη από το αποθετήριο.
- Συγκέντρωση και δημιουργία της εφαρμογής και δημιουργία αρχείων JAR ή WAR.
- Τοποθέτηση των αναγνωρισμένων αρχείων JAR ή WAR σε οικεία τοποθεσία δικτύου.
- Φορτώστε τα αρχεία JAR ή WAR.
- Αναπτύξτε τα ληφθέντα αρχεία JAR ή WAR στον διακομιστή προορισμού.
- Ο νέος αριθμός έκδοσης της εφαρμογής και η ημερομηνία που θα ενημερωθεί στην τεκμηρίωση.
Τα παραπάνω βήματα ακολουθούνται από κάθε μέλος των ομάδων που συμμετέχουν στο έργο. Από τα παραπάνω βήματα, εάν κάποιος χάσει ή κάτι δεν γίνει σωστά, τότε, οδηγεί σε αποτυχία κατασκευής και ανάπτυξης . Στο μεταξύ, εάν υπάρχουν σφάλματα, πρέπει να διορθωθούν αυτόματα.
Ο Maven ακολουθεί τη μέθοδο αυτοματισμού ανάπτυξης για να κάνει την ανάπτυξη αυτόματη και στιβαρή. Αυτό επιτυγχάνεται με το συνδυασμό των παρακάτω διαδικασιών:
- Κατασκευή και απελευθέρωση του έργου που θα αναλάβει ο Maven.
- Ο πηγαίος κώδικας θα διαχειρίζεται από την αντιστροφή και το αποθετήριο πηγαίου κώδικα.
- Δυαδικά έργα για τη φροντίδα του απομακρυσμένου διαχειριστή αποθετηρίου.
Η αυτοματοποιημένη διαδικασία κατασκευής και έκδοσης του Maven φροντίζεται από το πρόσθετο Maven Release. Το αρχείο pom.xml πρέπει να ενημερωθεί όπως απεικονίζεται παρακάτω.
Ο παρακάτω κώδικας αφορά το έργο com.softwaretestHelp pom.xml
4.0.0 com.softwaretestHelp TestApplication war 2.0 WebTest Maven Java http://maven.apache.org http://www.svn.com scm:svn:http://localhost:8080/svn/jrepo/trunk/Framework scm:svn:testing/test@localhost:8080:common_core_api:1101:code SampleTest-Web-Release Release repository http://localhost:8082/nexus/content/repositories/SampleTest-Web-Release org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy (SampleTest-Web- checkin) junit junit 3.9 test
Οι βασικές δυνατότητες στο παραπάνω αρχείο pom.xml παρατίθενται παρακάτω:
- SCM : Η θέση του SVN (όπου υπάρχει ο πηγαίος κώδικας) διαμορφώνεται από το SCM.
- Αποθήκες : Αυτή είναι η θέση των αρχείων JAR ή WAR ή EAR ή οποιουδήποτε άλλου έργου έργου μετά την επιτυχή ολοκλήρωση του κτιρίου του έργου.
- Συνδέω : Αυτοματοποίηση ανάπτυξης που πραγματοποιείται από το πρόσθετο κυκλοφορίας Maven.
Πρόσθετο Maven Release
Το Maven Release plugin πραγματοποιεί τις ακόλουθες δραστηριότητες:
- κυκλοφορία mvn: καθαρό - Καθαρίζει το χώρο εργασίας της προηγούμενης έκδοσης πριν από την άφιξη της μελλοντικής έκδοσης.
- έκδοση mvn: επαναφορά - Σε περίπτωση αποτυχίας της προηγούμενης έκδοσης, επιστρέφει στον χώρο εργασίας.
- κυκλοφορία mvn: προετοιμασία - Επαληθεύει εάν υπάρχουν ασυμβίβαστες αλλαγές στα αρχεία ή όχι. Επίσης, ελέγχει τις εξαρτήσεις στιγμιότυπου και ενημερώνει τον αριθμό έκδοσης της εφαρμογής. Τροποποιεί το pom σε SCM. Φροντίζει για την εκτέλεση της δοκιμαστικής υπόθεσης και δεσμεύει τον τελικό κώδικα στο SCM. Πραγματοποιεί επισήμανση του κώδικα στην ανατροπή. Τέλος, ο αριθμός έκδοσης αυξάνεται και επισυνάπτεται στο SNAPSHOT για άλλες κυκλοφορίες στο μέλλον από αυτό το πρόσθετο.
- έκδοση mvn: εκτέλεση - Ελέγχει τον κώδικα που υπάρχει στο αποθετήριο και στη συνέχεια εκτελεί τους στόχους build του Maven για να αναπτύξει το τεχνούργημα build στο αποθετήριο.
Τέλος, πρέπει να εκτελέσουμε την παρακάτω εντολή για την κατασκευή του έργου:
mvn release: prepare
Μόλις ολοκληρωθεί η επιτυχής ολοκλήρωση του build, εκτελέστε την ακόλουθη εντολή:
mvn release: perform
Τώρα το αρχείο WAR μεταφορτώνεται στο αποθετήριο.
συμπέρασμα
Ελπίζουμε ότι τα μεγάλα τμήματα της ενσωμάτωσης του Maven με το Eclipse, η ενσωμάτωσή του με το TestNG, τα προφίλ του Maven, το εύρος εξάρτησης του Maven και ο αυτοματισμός ανάπτυξης του Maven θα πρέπει να είναι κατανοητά τώρα. Επίσης, έχουμε συζητήσει τα περισσότερα πεδία των εξαρτήσεων εδώ.
Για τη διαδικασία ανάπτυξης του Maven, διερευνήσαμε σε βάθος όλα τα βήματα και εξηγήσαμε μερικά από τα πρόσθετα κυκλοφορίας του Maven. Διαβάστε τα θέματα και σταδιακά θα κατανοήσετε την πραγματική ουσία της χρήσης του Maven στη δουλειά μας.
Θα συνεχίσουμε με τη σειρά και θα συλλέξουμε γνώσεις σχετικά με το Maven Jenkins Integration, τις ερωτήσεις συνέντευξης Maven κ.λπ. στα επερχόμενα σεμινάρια μας.
=> Δείτε όλα τα μαθήματα Maven εδώ.
Συνιστώμενη ανάγνωση
- Τι είναι το Maven - Maven Tutorial για αρχάριους
- Εκμάθηση έκλειψης σε βάθος για αρχάριους
- Tutorial TestNG: Εισαγωγή στο TestNG Framework
- Eclipse Tutorial: Ενσωμάτωση TestNG στο Eclipse Java IDE
- Διαμόρφωση Maven με Eclipse Java IDE
- Gradle Vs Maven και Maven Plugins
- Τεκμηρίωση Maven With Jenkins & Maven για έργα
- Ενσωμάτωση του Maven με το TestNg χρησιμοποιώντας το Maven Surefire Plugin