我目前在Maven构建的大型项目中工作,该项目有许多集成测试模块,标记为主要(非测试)源。 我正在尝试创建一个将跳过这些模块的编译的配置文件。 我希望gmaven插件允许“跳过”配置参数,但事实并非如此。 有没有办法跳过模块处理而不将gmaven插件指向不存在的目录,并且除了集成测试之外没有所有模块的复制粘贴到单独的配置文件?
答案 0 :(得分:1)
您可以将集成测试模块放在列出模块的父pom的单独配置文件中。除非通过在运行Maven构建(-DskipIntegrationTestModules
)时设置属性来禁用该配置文件,否则该配置文件应处于活动状态。 (Don't use 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中找到更多详细信息。
您还应该知道it can be dangerous to have modules in build profiles因为在执行发布版本时可能会意外遗漏它们。我认为在这种情况下应该没问题,因为必须明确停用配置文件。