web-dev-qa-db-fra.com

Comment invoquer deux profils différents dans une seule commande maven?

J'ai deux profils pour des environnements différents dans pom.xml, Je dois courir mvn -PTest1 install et mvn -PTest2 install commande pour obtenir ces profils en cours d'utilisation. Pouvons-nous intégrer deux commandes maven distinctes en une seule (comme mvn clean install)?

Voici mon entrée Pom

<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>

Il sera utile de gérer le travail Hudson en utilisant une seule commande

47
dinesh sharma

Sur la base de documentation et discussion ici , essayez de séparer les noms de profil par une virgule:

mvn install -P Test1,Test2
64
Mifeet

Pour moi, la réponse de Mifeet ne fonctionne pas. J'obtiens "test2 de phase de cycle de vie inconnu". Pour moi, cela fonctionne:

mvn install -PTest1 -PTest2
18
dermoritz

la réponse de Mifeet est correcte, mais dans Windows PowerShell, vous devez citer les paramètres, sinon vous obtiendrez l'erreur "phase de cycle de vie inconnue".

mvn install -P 'Test1,Test2'
11
naXa