我正在使用带有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也无法纠正损坏的链接。
答案 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!