【问题标题】:Exclude an additional test source from running during build在构建期间从运行中排除其他测试源
【发布时间】:2014-07-10 08:05:51
【问题描述】:

我用以下代码添加了一个额外的测试源目录:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.9</version>
        <executions>
            <execution>
                <id>add-test-source</id>
                <phase>generate-test-sources</phase>
                <goals>
                    <goal>add-test-source</goal>
                </goals>
                <configuration>
                    <sources>
                        <source>src/test/spike</source>
                    </sources>
                </configuration>
         </execution>
    </executions>
</plugin>

效果很好。但是我想在构建期间从执行中删除这个测试目录。我知道我可以通过this 排除一些测试,但在这种情况下,我想删除整个目录。在我看来,排除标签只接受包。还有其他方法吗?

我想这样做的原因是该目录只包含一些实验和尖峰,应该从 IDE 按需执行它们,但不需要由构建服务器(maven)执行。

【问题讨论】:

  • 如果它们只是实验,则默认情况下不应添加它们。所以最好我会说只是在 IDE 中使用它们,所以根本不需要添加它们。所以不需要 build-helper-maven-plugin。
  • 这是可能的,但是其他想要使用这个“spike”东西的人都需要手动将目录添加到 IDE。但值得讨论。
  • 不,对于这种情况,我会为这个实验添加一个配置文件,正如答案中已经提到的那样。

标签: java maven


【解决方案1】:

您可以使用两种不同的 Maven 配置文件。一个包含这个测试目录,一个不包含。

在 IDE 外部构建时,您可以使用 IDE 中的第一个配置文件,并将第二个配置文件用作默认活动配置文件。

更多关于 Maven 配置文件的信息: http://maven.apache.org/guides/introduction/introduction-to-profiles.html

【讨论】:

    猜你喜欢
    • 2020-04-23
    • 1970-01-01
    • 2013-01-20
    • 2012-08-20
    • 2022-07-05
    • 1970-01-01
    • 2021-06-21
    • 2015-04-24
    • 1970-01-01
    相关资源
    最近更新 更多