运行“mvn site”后,我的checkstyle报告在哪里?

时间:2015-01-14 21:32:25

标签: maven maven-3 checkstyle maven-site-plugin

我正在使用带有Checkstyle 2.13插件的Maven 3.2.3。我有一个多模块项目,并在父pom中进行此配置...

    <reporting>
            <plugins>
                    <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-checkstyle-plugin</artifactId>
                            <version>2.13</version>
                            <reportSets>
                                    <reportSet>
                                            <reports>
                                                    <report>checkstyle</report>
                                            </reports>
                                    </reportSet>
                            </reportSets>
                    </plugin>
                    <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-jxr-plugin</artifactId>
                            <version>2.3</version>
                    </plugin>
            </plugins>
    </reporting>

当我运行“mvn site”时,我获得了成功,没有错误或警告。报告文件在target / site / index.html生成,但是当我在浏览器中访问该页面时,我看不到检查样式报告。更糟糕的是,当我点击“项目模块”部分下每个模块的链接时,我得到了404s。每个链接都将指向/ site / module-N / index.html,但不会生成此类文件。

编辑:根据评论中的建议,我添加了

    <distributionManagement>
            ...
            <site>
                    <id>sourceforge-snapshot-site</id>
                    <name>Snapshot Site</name>
                    <url>scp://shell.sourceforge.net/home/project-web/checkstyle/htdocs/snapshot</url>
            </site>
    </distributionManagement>

这只是一个满足建议的虚拟条目,但即使将其放入,site:stage也无法纠正损坏的链接。

2 个答案:

答案 0 :(得分:1)

Maven Site plugin有一个FAQ条目"Why don't the links between parent and child modules work when I run "mvn site"?,表示

  

在多项目构建中,“mvn site”将为您运行的是运行   父母及其所有模块的“mvn site”。链接   父母和孩子之间的关系不起作用。但他们会工作   部署站点时。如果你想在此之前进行测试   部署,您可以按site:stage中的说明运行usage documentation目标   代替。

所以听起来你看到的行为就像预期一样。

答案 1 :(得分:0)

添加此

                    <distributionManagement>
                            <site>
                                    <id>localhost</id>
                                    <url>file:///${project.build.directory}/reports</url>
                            </site>
                    </distributionManagement>

然后运行&#34; mvn site:site site:deploy&#34;允许我制作一份包含所有链接的本地报告。打败你Maven!