3

我正在使用 maven 3.0.4 。我希望故障安全和码头插件仅在我在执行 maven 命令时设置某些属性时运行(仅运行集成测试),例如mvn verify -Pstage -DrunIT=true

我在 pom 中的舞台简介如下所示。

<profile>
        <id>stage</id>
        <activation>
            <activeByDefault>false</activeByDefault>

        </activation>
        <build>
            <plugins>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.16</version>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <goals>
                                <goal>integration-test</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>verify</id>
                            <goals>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>


                <plugin>
                    <groupId>org.mortbay.jetty</groupId>
                    <artifactId>maven-jetty-plugin</artifactId>
                    <version>6.1.16</version>
                    <dependencies>
                        <dependency>
                            <groupId>javax.servlet</groupId>
                            <artifactId>servlet-api</artifactId>
                            <version>2.5</version>
                        </dependency>

                        <dependency>
                            <groupId>junit</groupId>
                            <artifactId>junit</artifactId>
                            <version>4.11</version>
                        </dependency>
                        <dependency>
                            <groupId>org.hamcrest</groupId>
                            <artifactId>hamcrest-all</artifactId>
                            <version>1.3</version>
                        </dependency>

                        <dependency>
                            <groupId>mysql</groupId>
                            <artifactId>mysql-connector-java</artifactId>
                            <version>5.1.6</version>
                        </dependency>

                        <dependency>
                            <groupId>xmlunit</groupId>
                            <artifactId>xmlunit</artifactId>
                            <version>1.5</version>
                        </dependency>



                    </dependencies>
                    <configuration>
                        <scanIntervalSeconds>10</scanIntervalSeconds>
                        <stopPort>8005</stopPort>
                        <stopKey>STOP</stopKey>
                        <contextPath>/</contextPath>
                    </configuration>
                    <executions>
                        <execution>
                            <id>start-jetty</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>run-exploded</goal>
                            </goals>
                            <configuration>
                                <scanIntervalSeconds>0</scanIntervalSeconds>
                                <daemon>true</daemon>
                            </configuration>
                        </execution>
                        <execution>
                            <id>stop-jetty</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>stop</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>


            </plugins>
        </build>
    </profile>
4

1 回答 1

2

好吧,<activation/>您需要定义您似乎错过的属性:

...
<profile>
    <id>stage</id>
    <activation>
        <activeByDefault>false</activeByDefault>

        <property>
            <name>runIT</name>
            <!-- I think you can safely skip the value part below
                 and just pass in -DrunIT. -->
            <value>true</value>
        </property>
    </activation>
    ...
</profile>
于 2014-03-05T12:28:06.160 回答