我们使用自定义doclet从自定义javadoc标记生成报告,并使用Maven网站插件和javadoc插件生成此报告和常规Java API文档.
POM的部分如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<reportSets>
<reportSet>
<id>html</id>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>custom_report</id>
<configuration>
...
</configuration>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
Run Code Online (Sandbox Code Playgroud)
在Maven 2下,这很好用,但是在Maven 3中只生成了一个报告,它是POM中指定的最后一个报告(通过交换reportSet元素来确定).
经过一些实验,我发现如果我将常规报告的目标从"javadoc"改为"test-javadoc",那么我从两个报告集中得到了输出.所以问题似乎是,使用Maven 3我无法生成两个使用相同javadoc-plugin目标的报告.
这是一个错误,还是有一些我错过的会员?我移离行家-Javadoc的插件安装reporting到configuration该网站插件如在描述http://maven.apache.org/plugins/maven-site-plugin-3.0-beta-3/maven-3.html,至徒劳无功.我正在使用Maven 3.0.4,maven-site-plugin 3.0-beta-3和maven-javadoc-plugin 2.8.1.
谢谢!
继问题代理,装饰器,适配器和桥接模式有何不同?,您如何描述我需要多次实施的以下模式?
场景是我引用了来自第三方类的静态方法或变量,但我想将它隐藏在接口后面,以便我可以模拟它进行测试.
例如,在Java中,commons-lang库有一个SystemUtils类,常量为IS_OS_WINDOWS等.我想运行独立于底层操作系统的测试并模仿各种操作系统,所以我按如下方式包含对常量的访问:
interface ISystemUtils {
boolean isOsWindows();
}
class SystemUtilsImpl implements ISystemUtils {
@Override
public boolean isOsWindows() {
return SystemUtils.IS_OS_WINDOWS;
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个代理,一个通用的"包装",还是其他什么?