maven jboss tattletale报道

时间:2012-09-12 11:09:11

标签: maven maven-2

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

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

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

2 个答案:

答案 0 :(得分:0)

Tattletale根据工件生成报告,这是否意味着需要在Maven模块级别生成报告?

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

答案 1 :(得分:0)

执行类似于您所描述的内容的一种方法是将配置放在父pom中的Maven配置文件中。然后,您可以在构建任何子模块时按需激活该配置文件。例如,如果您想要一个可以在任何war模块上使用的预定义配置,您可以执行以下操作:

<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