Wie rufe ich zwei verschiedene Profile in einem Maven-Befehl auf?

Lesezeit: 3 Minuten

Benutzer-Avatar
Dinesh Sharma

Ich habe zwei Profile für verschiedene Umgebungen in pom.xmlIch muss rennen mvn -PTest1 install und mvn -PTest2 install Befehl, um diese Profile zu verwenden. Können wir zwei separate Maven-Befehle in einem einzigen integrieren (wie mvn clean install)?

Hier ist mein Pom-Eintrag

<profiles>
  <profile>
  <id>Test1</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <jdk>1.5</jdk>
    <os>
       <name>Windows XP</name>
       <family>Windows</family>
       <arch>x86</arch>
       <version>5.1.2600</version>
    </os>
    <property>
       <name>sparrow-type</name>
       <value>African</value>
    </property>
  </activation>
  <dependencies>
    <dependency>
      <groupId>
      com.endeca
      </groupId>
      <artifactId>
      endeca_navigation_Test1
      </artifactId>
     <version>
     6.1
     </version>
     <!--<version>stable</version> -->
    <scope>
    compile
    </scope>
  </dependency>
  </profile>

  <profile>
    <id>Test2</id>
    <activation>
      <activeByDefault>false</activeByDefault>
      <jdk>1.5</jdk>
      <os>
        <name>Windows XP</name>
        <family>Windows</family>
        <arch>x86</arch>
        <version>5.1.2600</version>
      </os>
      <property>
        <name>sparrow-type</name>
        <value>African</value>
      </property>
    </activation>
    <dependencies>
      <dependency>
        <groupId>
        com.endeca
        </groupId>
        <artifactId>
        endeca_navigation_Test2
        </artifactId>
        <version>
        6.1
        </version>
        <!--<version>stable</version> -->
        <scope>
        compile
        </scope>
      </dependency>
    </dependencies>
  </profile>
</profiles>

Es ist hilfreich, den Hudson-Job mit einem einzigen Befehl zu verwalten

  • Sie möchten also Befehle kombinieren mvn -PTest1 install und mvn -PTest2 install?

    – Mifeet

    28. Mai 2013 um 12:56 Uhr

  • Ich muss diese beiden Befehle mvn -PTest1 install und mvn -PTest2 install mit meinem Hudson-Job-Befehl mvn install integrieren. Die mvn-Installation verarbeitet den Hudson-Job für unser Projekt.

    – Dinesh Sharma

    28. Mai 2013 um 13:40 Uhr

Benutzer-Avatar
Mifeet

Basierend auf Dokumentation und Diskussion hierversuchen Sie, die Profilnamen durch ein Komma zu trennen:

mvn install -P Test1,Test2

  • der Link zur Diskussion ist tot 💀💀💀

    – naXa steht zur Ukraine

    8. September 2021 um 15:15 Uhr

Die Antwort von Mifeet ist richtig, aber in Windows PowerShell sollten Sie Parameter in Anführungszeichen setzen, sonst erhalten Sie den Fehler „unbekannte Lebenszyklusphase“.

mvn install -P 'Test1,Test2'

  • Für mich ist es " " ich benutze cmd

    – Ng Sek Long

    26. April 2019 um 3:28 Uhr

Benutzer-Avatar
dermoritz

Für mich funktioniert Mifeets Antwort nicht. Ich erhalte “unbekannte Lebenszyklusphase Test2”. Bei mir funktioniert das:

mvn install -PTest1 -PTest2

  • Verwenden Sie PowerShell? Siehe Antwort von naXa.

    – Adam Burley

    19. Februar 2018 um 16:48 Uhr


Basierend auf dem maven help-Befehl

 -P,--activate-profiles <arg>   Comma-delimited list of profiles to activate

Du kannst also laufen mvn package -Pp1,p2 um die Profil-ID mit p1 und p2 auszuführen

1186260cookie-checkWie rufe ich zwei verschiedene Profile in einem Maven-Befehl auf?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy