1

我目前在 Maven 构建的大型项目中工作,该项目有许多集成测试模块,这些模块被标记为主要(非测试)源。我正在尝试创建一个可以跳过这些模块编译的配置文件。我希望 gmaven 插件允许“跳过”配置参数,但事实并非如此。有没有办法跳过模块处理而不将gmaven插件指向不存在的目录并且没有将除集成测试之外的所有模块复制粘贴到单独的配置文件?

4

1 回答 1

1

您可以将集成测试模块放在列出模块的父 pom 的单独配置文件中。该配置文件应该处于活动状态,除非您在运行 Maven 构建 ( -DskipIntegrationTestModules) 时通过设置属性来禁用它。(不要使用 activeByDefault。)

  <modules>
    <module>my-project</module>
  </modules>

  <profiles>
    <profile>
        <id>build-integration-tests</id>
        <activation>
            <property>
                <name>!skipIntegrationTestModules</name>
            </property>
        </activation>       
        <modules>
            <module>my-project-integration-test</module>
        </modules>
    </profile>
  </profiles>

您可以在Maven Introduction to Build Profiles中找到更多详细信息。

您还应该知道,在构建配置文件中包含模块可能很危险,因为在进行发布构建时它们可能会被意外遗漏。我认为在这种情况下应该没问题,因为必须明确停用配置文件。

于 2015-11-06T07:27:29.317 回答