使用不同的参数集多次执行maven mainclass

时间:2013-05-20 09:55:53

标签: maven maven-2

如何使用不同的参数多次调用maven mainclass

<build>
<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <configuration>
            <mainClass>TestExecutionInitiator</mainClass>
            <classpathScope>test</classpathScope>
            <arguments>
                <argument>Chrome</argument>
            </arguments>
        </configuration>
    </plugin>
</plugins>

到目前为止,我可以将我的主要课程传递为“Chrome”。 我想用另一个参数Firefox调用主类。 当我运行mvn exec:java时,我的主类应该多次调用。

2 个答案:

答案 0 :(得分:3)

您可以简单地使用以下几种执行方式:

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
          <execution>
            <id>exec-1</id>
            <phase>test</phase>
            <goals><goal>exec</goal></goals>
            <configuration>
              <mainClass>TestExecutionInitiator</mainClass>
              <classpathScope>test</classpathScope>
              <arguments>
                  <argument>Chrome</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>exec-2</id>
            <phase>test</phase>
            <goals><goal>exec</goal></goals>
            <configuration>
              WhatEver Configuration
            </configuration>
          </execution>
        </executions>
    </plugin>
</plugins>

答案 1 :(得分:0)

将参数作为Maven环境变量传递:

<build>
<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <configuration>
            <mainClass>TestExecutionInitiator</mainClass>
            <classpathScope>test</classpathScope>
            <arguments>
                <argument>${myArg}</argument>
            </arguments>
        </configuration>
    </plugin>
</plugins>

并以这种方式执行:

mvn exec:exec -DmyArg=Chrome