Freigeben über


Maven@1 – Maven v1-Vorgang

Verwenden Sie diese Aufgabe, um mit Apache Maven zu erstellen.

Diese Version der Aufgabe ist veraltet; verwenden Sie Maven@4.

Syntax

# Maven v1
# Build with Apache Maven.
- task: Maven@1
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
    testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test Run Title. 
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code Coverage Tool. Default: None.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class Inclusion/Exclusion Filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class Files Directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source Files Directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail When Code Coverage Results Are Missing. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK Version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK Path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK Architecture. Default: x64.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven Version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven Path. 
    #mavenSetM2Home: false # boolean. Optional. Use when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    #mavenAuthenticateFeed: true # boolean. Alias: mavenFeedAuthenticate. Authenticate built-in Maven feeds. Default: true.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube Analysis. Default: false.
    #sonarQubeServiceEndpoint: # string. Alias: sqConnectedServiceName. Required when sqAnalysisEnabled = true. SonarQube Endpoint. 
    #sonarQubeProjectName: # string. Alias: sqProjectName. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Version. 
    #sonarQubeSpecifyDB: false # boolean. Alias: sqDbDetailsRequired. Optional. Use when sqAnalysisEnabled = true. The SonarQube server version is lower than 5.2. Default: false.
    #sonarQubeDBUrl: # string. Alias: sqDbUrl. Optional. Use when sqDbDetailsRequired = true. Db Connection String. 
    #sonarQubeDBUsername: # string. Alias: sqDbUsername. Optional. Use when sqDbDetailsRequired = true. Db Username. 
    #sonarQubeDBPassword: # string. Alias: sqDbPassword. Optional. Use when sqDbDetailsRequired = true. Db User Password. 
    #sonarQubeIncludeFullReport: true # boolean. Alias: sqAnalysisIncludeFullReport. Optional. Use when sqAnalysisEnabled = true. Include full analysis report in the build summary (SQ 5.3+). Default: true.
    #sonarQubeFailWhenQualityGateFails: # boolean. Alias: sqAnalysisBreakBuildIfQualityGateFailed. Optional. Use when sqAnalysisEnabled = true. Fail the build on quality gate failure (SQ 5.3+). 
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.

Eingänge

mavenPOMFile - Maven POM Datei
string. Erforderlich. Standardwert: pom.xml.

Gibt den relativen Pfad vom Repositorystamm zur Maven POM-Datei an.


goals - Ziel(n)
string. Standardwert: package.


options - Optionen
string.


publishJUnitResults - in TFS/Team Services veröffentlichen
boolean. Standardwert: true.

Gibt die Option zum Veröffentlichen der JUnit-Testergebnisse an, die vom Maven-Build in TFS/Team Services erstellt wurden. Jede Testergebnissedatei, die Test Results Files abgleicht, wird als Testlauf in TFS/Team Services veröffentlicht.


testResultsFiles - Testergebnisse
string. Erforderlich, wenn publishJUnitResults = true. Standardwert: **/TEST-*.xml.

Gibt den Pfad und das Muster der zu veröffentlichenden Testergebnisse an. Beispiel: **/TEST-*.xml für alle XML-Dateien mit einem Namen, der mit TEST-beginnt. Wenn kein Stammpfad angegeben ist, werden Dateien unter dem Standardarbeitsverzeichnis abgeglichen, dessen Wert in der Variablen $(System.DefaultWorkingDirectory)verfügbar ist. Beispielsweise führt ein Wert von **/TEST-*.xml tatsächlich zu übereinstimmenden Dateien aus $(System.DefaultWorkingDirectory)/**/TEST-*.xml.


testRunTitle - Titel der Testausführung
string. Wahlfrei. Wird verwendet, wenn publishJUnitResults = true.

Gibt einen Namen für die Testausführung an.


codeCoverageToolOption - Codeabdeckungstool
Eingabealias: codeCoverageTool. string. Zulässige Werte: None, Cobertura, JaCoCo. Standardwert: None.

Gibt das Codeabdeckungstool an.


codeCoverageClassFilter - Klasseneinschluss-/Ausschlussfilter
Eingabealias: classFilter. string. Wahlfrei. Wird verwendet, wenn codeCoverageTool != None.

Gibt eine durch Trennzeichen getrennte Liste von Filtern an, die Klassen von der Erfassung der Codeabdeckung einschließen oder ausschließen sollen. Beispiel: +:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - Klassendateien
Eingabealias: classFilesDirectories. string. Wahlfrei. Wird verwendet, wenn codeCoverageTool = JaCoCo.

Dieses Feld ist für ein Mehrmodulprojekt erforderlich.
Gibt eine durch Trennzeichen getrennte Liste relativer Pfade aus der Maven POM-Datei zu den Verzeichnissen an, die Klassendateien und Archivdateien (JAR, WAR usw.) enthalten. Die Codeabdeckung wird für Klassendateien in diesen Verzeichnissen gemeldet. Beispiel: target/classes,target/testClasses.


codeCoverageSourceDirectories - Quelldateien verzeichnisse
Eingabealias: srcDirectories. string. Wahlfrei. Wird verwendet, wenn codeCoverageTool = JaCoCo.

Dieses Feld ist für ein Mehrmodulprojekt erforderlich.
Gibt eine durch Trennzeichen getrennte Liste relativer Pfade aus der Maven POM-Datei zu Quellcodeverzeichnissen an. Codeabdeckungsberichte verwenden diese, um Quellcode hervorzuheben. Beispiel: src/java,src/Test.


codeCoverageFailIfEmpty - fehlschlagen, wenn die Ergebnisse der Codeabdeckung
Eingabealias: failIfCoverageEmpty. boolean. Wahlfrei. Wird verwendet, wenn codeCoverageTool != None. Standardwert: false.

Schlägt den Build fehl, wenn die Codeabdeckung keine Ergebnisse zur Veröffentlichung erzeugt hat.


javaHomeOption - Festlegen JAVA_HOME nach
Eingabealias: javaHomeSelection. string. Erforderlich. Zulässige Werte: JDKVersion (JDK Version), Path. Standardwert: JDKVersion.

Legt JAVA_HOME fest, indem entweder eine JDK-Version ausgewählt wird, die während der Builds erkannt wird, oder indem Sie manuell einen JDK-Pfad eingeben.


jdkVersionOption - JDK-Version
Eingabealias: jdkVersion. string. Wahlfrei. Wird verwendet, wenn javaHomeSelection = JDKVersion. Zulässige Werte: default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). Standardwert: default.

Versucht, den Pfad zur ausgewählten JDK-Version zu ermitteln, und legt JAVA_HOME entsprechend fest.


jdkDirectory - JDK Path
Eingabealias: jdkUserInputPath. string. Erforderlich, wenn javaHomeSelection = Path.

Legt JAVA_HOME auf den angegebenen Pfad fest.


jdkArchitectureOption - JDK-Architektur
Eingabealias: jdkArchitecture. string. Wahlfrei. Wird verwendet, wenn jdkVersion != default. Zulässige Werte: x86, x64. Standardwert: x64.

Liefert die Architektur (x86, x64) des JDK.


mavenVersionOption - Maven Version
Eingabealias: mavenVersionSelection. string. Erforderlich. Zulässige Werte: Default, Path (benutzerdefinierter Pfad). Standardwert: Default.

Verwendet entweder die Standardmäßige Maven-Version oder die Version im angegebenen benutzerdefinierten Pfad.


mavenDirectory - Maven Path
Eingabealias: mavenPath. string. Erforderlich, wenn mavenVersionSelection = Path.

Stellt den benutzerdefinierten Pfad zur Maven-Installation bereit (z. B. /usr/share/maven).


mavenSetM2Home - Festlegen M2_HOME Variablen
boolean. Wahlfrei. Wird verwendet, wenn mavenVersionSelection = Path. Standardwert: false.

Legt die M2_HOME Variable auf einen benutzerdefinierten Maven-Installationspfad fest.


mavenOptions - Festlegen von MAVEN_OPTS auf
Eingabealias: mavenOpts. string. Standardwert: -Xmx1024m.

Legt die MAVEN_OPTS Umgebungsvariable fest, die zum Senden von Befehlszeilenargumenten zum Starten des JVM verwendet wird. Das flag -Xmx gibt den maximalen Arbeitsspeicher an, der dem JVM zur Verfügung steht.


mavenAuthenticateFeed - Authentifizieren integrierter Maven-Feeds
Eingabealias: mavenFeedAuthenticate. boolean. Standardwert: true.

Authentifiziert sich automatisch mit Azure Artifacts-Feeds. Wenn Artefaktefeeds nicht verwendet werden, deaktivieren Sie diese Option für schnellere Builds.


sonarQubeRunAnalysis - Ausführen der SonarQube-Analyse
Eingabealias: sqAnalysisEnabled. boolean. Standardwert: false.

Führt eine SonarQube-Analyse aus, nach der Ausführung der aktuellen Ziele. install oder package Ziele sollten zuerst ausgeführt werden.


sonarQubeServiceEndpoint - SonarQube Endpoint
Eingabealias: sqConnectedServiceName. string. Erforderlich, wenn sqAnalysisEnabled = true.

Gibt den generischen Endpunkt des SonarQube-Servers an.


sonarQubeProjectName - SonarQube-Projektname
Eingabealias: sqProjectName. string. Wahlfrei. Wird verwendet, wenn sqAnalysisEnabled = true.

Gibt den Namen des SonarQube-Projekts an, z. B. sonar.projectName.


sonarQubeProjectKey - SonarQube-Projektschlüssel-
Eingabealias: sqProjectKey. string. Wahlfrei. Wird verwendet, wenn sqAnalysisEnabled = true.

Gibt den eindeutigen Schlüssel des SonarQube-Projekts an, z. B. sonar.projectKey.


sonarQubeProjectVersion - SonarQube-Projektversion
Eingabealias: sqProjectVersion. string. Wahlfrei. Wird verwendet, wenn sqAnalysisEnabled = true.

Gibt die SonarQube-Projektversion an, z. B. sonar.projectVersion.


sonarQubeSpecifyDB - Die SonarQube-Serverversion ist niedriger als 5.2
Eingabealias: sqDbDetailsRequired. boolean. Wahlfrei. Wird verwendet, wenn sqAnalysisEnabled = true. Standardwert: false.

Wenn Sie einen SonarQube-Server 5.1 oder niedriger verwenden, müssen Sie die Datenbankverbindungsdetails angeben.


sonarQubeDBUrl - Db-Verbindungszeichenfolge
Eingabealias: sqDbUrl. string. Wahlfrei. Wird verwendet, wenn sqDbDetailsRequired = true.

Wird nur für Den SonarQube-Server 5.1 und niedriger verwendet.
Gibt die Datenbankverbindungseinstellung an (z. B. sonar.jdbc.url oder jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor).


sonarQubeDBUsername - Db Username
Eingabealias: sqDbUsername. string. Wahlfrei. Wird verwendet, wenn sqDbDetailsRequired = true.

Wird nur für Den SonarQube-Server 5.1 und niedriger verwendet.
Gibt den Benutzernamen für den Datenbankbenutzer an (z. B. sonar.jdbc.username).


sonarQubeDBPassword - Db-Benutzerkennwort
Eingabealias: sqDbPassword. string. Wahlfrei. Wird verwendet, wenn sqDbDetailsRequired = true.

Wird nur für Den SonarQube-Server 5.1 und niedriger verwendet.
Gibt das Kennwort für den Datenbankbenutzer an (z. B. sonar.jdbc.password).


sonarQubeIncludeFullReport - Vollständige Analysebericht in die Buildzusammenfassung einschließen (SQ 5.3+)
Eingabealias: sqAnalysisIncludeFullReport. boolean. Wahlfrei. Wird verwendet, wenn sqAnalysisEnabled = true. Standardwert: true.

Diese Option verzögert den Build, bis die SonarQube-Analyse abgeschlossen ist.


sonarQubeFailWhenQualityGateFails - Fehlschlagen des Builds auf qualitätsbezogenem Gate-Fehler (SQ 5.3+)
Eingabealias: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Wahlfrei. Wird verwendet, wenn sqAnalysisEnabled = true.

Diese Option ist nur verfügbar, wenn Sie einen SonarQube-Server 5.3 oder höher verwenden. Führt Verzögerungen ein, da der Build warten muss, bis SonarQube die Analyse abgeschlossen hat. Weitere Informationen zu SonarQube Qualitätstoren.


checkStyleRunAnalysis - Checkstyle- ausführen
Eingabealias: checkstyleAnalysisEnabled. boolean. Standardwert: false.

Führt das Checkstyle-Tool mit den Standardmäßigen Sun-Prüfungen aus. Ergebnisse werden als Buildartefakte hochgeladen.


pmdRunAnalysis - PMD- ausführen
Eingabealias: pmdAnalysisEnabled. boolean. Standardwert: false.

Verwendet das STATISCHE PMD-Analysetool, um nach Fehlern im Code zu suchen. Ergebnisse werden als Buildartefakte hochgeladen.


findBugsRunAnalysis - Ausführen von FindBugs-
Eingabealias: findbugsAnalysisEnabled. boolean. Standardwert: false.

Verwendet das statische Analysetool FindBugs, um nach Fehlern im Code zu suchen. Ergebnisse werden als Buildartefakte hochgeladen.


Aufgabensteuerungsoptionen

Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.

Ausgabevariablen

Keiner.

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Classic Build, Classic Release
Läuft auf Agent, DeploymentGroup
Anforderungen Self-hosted agents must have capabilities that match the following anforderungen to run jobs that use this task: maven
Funktionen Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Befehlseinschränkungen Jegliche
Settable-Variablen Jegliche
Agentversion 1.89.0 oder höher
Vorgangskategorie Bauen

Siehe auch