2

我正在尝试向 Maven 2 主 POM 添加一个 tattletale 报告。

理想情况下,我只希望报告运行一次,但它似乎在每个模块编译时都运行。

是否可以将 tattletale 设置为主 POM,并且只在整个代码库上运行一次?如果是这样,有人可以提供 POM 文件的设置,以便我实现这一点。

4

2 回答 2

1

执行您所描述的操作的一种方法是将配置放在父 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

于 2015-01-16T05:57:07.283 回答
0

Tattletale 基于工件生成报告,那么这是否意味着需要在 Maven 模块级别生成报告?

我正在开发一个多模块 Maven 项目,我的计划是在顶部、下方声明插件,并为我要报告的每个模块声明它。

于 2012-10-25T00:16:06.877 回答