maven dependency integration with eclipse
In diesem Tutorial werden wir die Integration von Maven mit Eclipse und TestNG, Maven Dependency Scope und Maven Deployment Automation im Detail diskutieren:
Im vorherigen Tutorial haben wir den Vergleich zwischen Gradle vs Maven und Maven Plugins diskutiert. In diesem Lernprogramm wird erläutert, wie Sie Maven in andere Tools, die Maven-Abhängigkeit und die Maven-Bereitstellung integrieren.
Unterschied zwischen Sit- und Uat-Tests
Lass uns anfangen!
=> Besuchen Sie hier für die exklusive Maven Training Tutorial-Reihe.
Was du lernen wirst:
- Integration von Maven mit Eclipse
- Integration von Maven mit TestNG
- Maven-Abhängigkeitsbereich
- Maven Deployment Automation
- Maven Release Plugin
- Fazit
- Literatur-Empfehlungen
Integration von Maven mit Eclipse
Die Integration von Maven in Eclipse wurde bereits ausführlich besprochen Seite
In bestimmten Szenarien, in denen wir ein Maven-Projekt über die Eingabeaufforderung erstellen und dieses Projekt zu Eclipse bringen müssen, müssen die folgenden Schritte ausgeführt werden.
# 1) Navigieren Sie zum Speicherort der POM-Datei für das Maven-Projekt. Führen Sie den folgenden Befehl aus.
mvn eclipse: eclipse
# 2) .classpath und .Projekt wird am Ort des Maven-Projekts erstellt.
Überprüfen Sie, ob das Maven-Plugin bereits in der Eclipse von bereitgestellt wird Windows => Einstellungen , Maven sollte dort anwesend sein. Alle aktuellen Eclipse-Versionen verfügen standardmäßig über die Maven-Plugins. Wenn diese nicht vorhanden sind, können wir sie herunterladen Hier .
#3) Importieren Sie nun das Maven-Projekt aus der Datei, damit Maven und Eclipse zusammenarbeiten. Dann wählen Sie die Bestehendes Maven-Projekt.
# 4) Durchsuchen Sie den Speicherort des Projekts und fortfahren.

Das oben abgebildete Bild zeigt das in Eclipse importierte Maven-Projekt.
Integration von Maven mit TestNG
Die Integration von Maven in TestNG wurde auf der folgenden Seite ausführlich erläutert.
=> Integration von Maven mit TestNg unter Verwendung des Maven Surefire Plugins
Während wir Maven in TestNG in unser Projekt integriert haben, kann es Situationen geben, in denen unser Projekt mehr als eine Testng-XML-Datei enthält. Zum Beispiel, Die gesamten Funktionen der Regressionssuite werden in einer testng.xml beschrieben, und Sanity-Testfälle werden in der anderen testng.xml-Datei beschrieben.
In einer solchen Situation müssen wir die verwenden Profil Konzept in Maven. In der POM-Datei müssen wir die Profile definieren. Jedes ist Teil eines Tags und mit einem Tag verknüpft.
Eine pom.xml-Datei mit einem Profilcode-Snippet ist unten angegeben:
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
Bitte beachten Sie, dass wir oben zwei Profile haben, die unter beschrieben sind, und jedem Profil eine ID zugeordnet ist. Zum Beispiel, Regression und Vernunft Außerdem haben wir unter suiteXmlFiles den Namen der Testng-XML-Datei definiert, die der ID entspricht ( testngRegression.xml und testngSanity.xml ).
wie man ein Tester für neue Produkte wird
Somit haben wir hier zwei Profile und können jede Testng-Datei mit Hilfe einer einzelnen POM-Datei steuern.
Um nun einen Testfall für jede Testng-Datei direkt an der Eingabeaufforderung auszulösen, müssen wir in den Projektordner wechseln und den folgenden Befehl ausführen.
mvn test –PRegression
Sobald dies ausgeführt wurde, durchsucht Maven das Profil mit der ID Regression und der entsprechenden testngRegression.xml Datei. Somit werden nur die dort beteiligten Tests ausgeführt.
In ähnlicher Weise lautet der Befehl für ein Profil mit der ID Sanity:
mvn test –PSanity
Hier das testngSanity.xml Datei wird verwendet, um die auszuführenden Testfälle zu bestimmen. Um einen bestimmten Satz von Testfällen auszulösen, müssen wir den TestNG-Dateinamen im POM nicht ändern, sondern können ihn einfach durch die Pflege separater TestNG-Dateien erreichen.
In der POM-Datei können wir diese Dateien zuordnen und schließlich mithilfe von Profilen in Maven an der Eingabeaufforderung ausführen.
Maven-Abhängigkeitsbereich
Maven hat insgesamt sechs Bereiche, wie unten aufgeführt.
- Unter der Voraussetzung
- Prüfung
- System
- Importieren
- Kompilieren
- Laufzeit
# 1) Laufzeitumfang
Die Maven-Abhängigkeit hat einen Gültigkeitsbereich als Laufzeit und wird nicht für Erstellungszwecke verwendet. Es besteht aus einem Klassenpfad zum Ausführen und Testen des Projekts. Das folgende Codefragment zeigt eine Laufzeitbereichsabhängigkeit.
com.softwaretesting MavenJava 2.3 runtime
# 2) Systemumfang
Die Maven-Abhängigkeit vom Gültigkeitsbereich als System ähnelt dem bereitgestellten Gültigkeitsbereich. Systemabhängigkeiten können nicht aus dem Remote-Repository heruntergeladen werden und befinden sich im Allgemeinen in den Projektverzeichnissen. Das folgende Codefragment zeigt eine Abhängigkeit des Systembereichs.
com.software MavenJava1 system 3.0 ${dir}warWEB-INFlibdep.jar
# 3) Bereitgestellter Geltungsbereich
Für die Erstellung und das Testen der Projekte ist eine Maven-Abhängigkeit erforderlich, deren Umfang dem angegebenen Umfang entspricht. Es wird nicht empfohlen, diese Abhängigkeit zu exportieren, da sie zur Laufzeit verfügbar sind. Diese Abhängigkeit ist jedoch zum Ausführen des Builds erforderlich. Das folgende Codefragment zeigt eine bereitgestellte Bereichsabhängigkeit.
com.test MavenJava2 5.1.1 provided
# 4) Testumfang
Maven-Abhängigkeit, die einen Testumfang hat, ist für die Erstellung und Ausführung des Projekts nicht erforderlich. Sie werden im Wesentlichen zum Kompilieren und Ausführen der Unit-Testfälle verwendet. Das folgende Codefragment zeigt eine Abhängigkeit des Testbereichs.
com.testing MavenJava3 1.0.2 test
# 5) Umfang importieren
In der POM-Datei befindet sich die dependencyManagement Abschnitt enthält den Scope-Import. Dies gibt die Abhängigkeit an, die mit der effektiven Gruppe von Abhängigkeiten geändert werden soll, die im Abschnitt dependencyManagement der pom-Datei angegeben ist. Das folgende Codefragment zeigt eine Abhängigkeit des Importbereichs.
com.testhelp MavenJava4 SNAP import pom
# 6) Umfang kompilieren
Die Maven-Abhängigkeit mit einem Kompilierungsbereich ist die Standardabhängigkeit. Diese Abhängigkeit ist für das Erstellen, Testen und Ausführen des Projekts von wesentlicher Bedeutung. Dies ist vor allem wichtig, um Java-Quellcode mit Importanweisungen zu lösen. Das folgende Codefragment zeigt eine Abhängigkeit vom Kompilierungsbereich.
logging log 2.1.3 compile
Maven Deployment Automation
Die Projektbereitstellung ist eine kritische Phase und umfasst mehrere Schritte, die wie unten aufgeführt definiert sind:
- Der Code wurde entwickelt, um im Repository überprüft zu werden.
- Quellcode, der aus dem Repository heruntergeladen werden soll.
- Kompilieren und Erstellen der Anwendung und Generieren von JAR- oder WAR-Dateien.
- Platzieren der identifizierten JAR- oder WAR-Dateien an einem vertrauten Netzwerkspeicherort.
- Laden Sie die JAR- oder WAR-Dateien.
- Stellen Sie die heruntergeladenen JAR- oder WAR-Dateien auf dem Zielserver bereit.
- Die neue Versionsnummer der Anwendung und das Datum, das in der Dokumentation aktualisiert werden soll.
Die oben genannten Schritte werden von jedem Mitglied der am Projekt beteiligten Teams ausgeführt. Wenn aus den oben aufgeführten Schritten jemand vermisst wird oder etwas nicht ordnungsgemäß ausgeführt wird, führt dies zu Fehler beim Erstellen und Bereitstellen . Wenn also zwischendurch Fehler auftreten, müssen diese automatisch behoben werden.
Maven folgt der Bereitstellungsautomatisierungsmethode, um die Bereitstellung automatisch und robust zu gestalten. Dies wird durch die Kombination der unten aufgeführten Prozesse erreicht:
- Aufbau und Freigabe des von Maven zu betreuenden Projekts.
- Quellcode, der von Subversion und Quellcode-Repository verwaltet werden soll.
- Projekt-Binärdateien für den Remote-Repository-Manager.
Der automatisierte Build- und Release-Prozess von Maven wird vom Maven Release-Plug-In übernommen. Die Datei pom.xml sollte wie unten dargestellt aktualisiert werden.
Der folgende Code bezieht sich auf das com.softwaretestHelp-Projekt 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
Die wichtigsten Funktionen in der obigen Datei pom.xml sind nachfolgend aufgeführt:
- SCM : Der Speicherort von SVN (wo der Quellcode vorhanden ist) wird von SCM konfiguriert.
- Repositories : Dies ist der Speicherort der JAR- oder WAR- oder EAR-Dateien oder anderer Projektartefakte nach erfolgreichem Abschluss des Projektaufbaus.
- Plug-in : Bereitstellungsautomatisierung durch das Maven Release Plugin.
Maven Release Plugin
Das Maven Release Plugin führt die folgenden Aktivitäten aus:
- MVN Release: sauber - Es bereinigt den Arbeitsbereich des vorherigen Builds vor dem Eintreffen des zukünftigen Builds.
- mvn release: rollback - Bei einem Fehler des vorherigen Builds wird ein Rollback auf den Arbeitsbereich durchgeführt.
- mvn release: vorbereiten - Es wird überprüft, ob nicht festgeschriebene Änderungen an Dateien vorliegen oder nicht. Überprüft außerdem die Snapshot-Abhängigkeiten und aktualisiert die Versionsnummer der Anwendung. Es ändert den POM in SCM. Es kümmert sich um die Testfallausführung und legt den endgültigen Code für SCM fest. Es führt eine Kennzeichnung des Codes in der Subversion durch. Schließlich wird die Versionsnummer erhöht und für dieses zukünftige Plugin durch dieses Plugin an den SNAPSHOT angehängt.
- mvn release: durchführen - Es überprüft den im Repository vorhandenen Code und führt dann Maven-Build-Ziele aus, um das Build-Artefakt im Repository bereitzustellen.
Schließlich müssen wir den folgenden Befehl ausführen, um das Projekt zu erstellen:
mvn release: prepare
Führen Sie nach erfolgreichem Abschluss des Builds den folgenden Befehl aus:
mvn release: perform
Jetzt wird die WAR-Datei in das Repository hochgeladen.
Fazit
Wir hoffen, dass wichtige Teile der Maven-Integration in Eclipse, die Integration in TestNG, Maven-Profile, den Abhängigkeitsbereich von Maven und die Bereitstellungsautomatisierung von Maven jetzt nachvollziehbar sind. Außerdem haben wir hier die meisten Bereiche der Abhängigkeiten erörtert.
Für den Maven-Bereitstellungsprozess haben wir alle Schritte eingehend untersucht und einige der Maven-Release-Plugins erläutert. Lesen Sie die Themen durch und Sie werden nach und nach verstehen, wie wichtig es ist, Maven in unserer Arbeit einzusetzen.
Wir werden mit der Serie fortfahren und in unseren kommenden Tutorials Wissen über die Integration von Maven Jenkins, Fragen zu Maven-Interviews usw. sammeln.
Was ist ein Netzwerksicherheitsschlüssel?
=> Überprüfen Sie ALLE Maven Tutorials hier.
Literatur-Empfehlungen
- Was ist Maven - Maven Tutorial für Anfänger
- Ausführliche Eclipse-Tutorials für Anfänger
- TestNG Tutorial: Einführung in TestNG Framework
- Eclipse-Lernprogramm: Integration von TestNG in die Eclipse-Java-IDE
- Konfigurieren von Maven mit Eclipse Java IDE
- Gradle Vs Maven und Maven Plugins
- Maven mit Jenkins & Maven Dokumentation für Projekte
- Integration von Maven mit TestNg unter Verwendung des Maven Surefire Plugins