我正在尝试向 Maven 2 主 POM 添加一个 tattletale 报告。
理想情况下,我只希望报告运行一次,但它似乎在每个模块编译时都运行。
是否可以将 tattletale 设置为主 POM,并且只在整个代码库上运行一次?如果是这样,有人可以提供 POM 文件的设置,以便我实现这一点。
执行您所描述的操作的一种方法是将配置放在父 pom.xml 中的 Maven 配置文件中。然后,您可以在构建任何子模块时按需激活该配置文件。例如,如果您想要一个可以在任何战争模块上使用的预定义配置,您可以执行以下操作:
<profile>
<id>tattletale-war</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.jboss.tattletale</groupId>
<artifactId>tattletale-maven</artifactId>
<version>1.2.0.Beta2</version>
<executions>
<execution>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
<configuration>
<source>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</source>
<destination>${project.build.directory}/reports</destination>
</configuration>
</plugin>
</plugins>
</build>
</profile>
然后在需要时在命令行激活它:
mvn clean package -P tattletale-war
Tattletale 基于工件生成报告,那么这是否意味着需要在 Maven 模块级别生成报告?
我正在开发一个多模块 Maven 项目,我的计划是在顶部、下方声明插件,并为我要报告的每个模块声明它。