UmlGraph vs APIViz for Maven javadoc generation

我想知道是否有任何明确的理由选择UmlGraph而不是APIViz来生成Maven2构建中的javadoc UML图。 是否有任何集成或function,但它们看起来非常相似?

这里有一个关于UMLGraph vs apiviz的有趣线程( 在这个问题上也提到了 SO),我的理解如下:

  • UMLGraph比较老,但非常好(dixit Fowler比我更重)。
  • apiviz是对UMLGraph的重写,但是为什么重写它并不是很清楚。
  • apiviz的“大”优势是如果没有安装Graphviz,构建不会失败 (虽然在我看来这不能certificate整个重写是正确的)。
  • apiviz不会自动生成图形,你必须添加标签而不是UMLGraph默认情况下会自动执行(这很方便)并且全自动结果对所有人都很好UMLGraph也可以使用自定义javadocs标签建模组合关系 )。
  • UMLGraph似乎做了更多的事情(“ 看起来apiviz只是提供概括和界面利用的视图 ”或“ UMLGraph显示的类使用实际上有助于理解一个类如何工作 ”)但我没有检查自己这可能不再是真实的或过时的。

所以,如果你的项目是公开的,apiviz在没有Graphviz的情况下优雅地工作的事实很好。 如果你有很多类,不得不在javadoc中添加标签,这是一个很大的痛苦。 如果您正在寻找特殊function,UMLGraph可能会提供更多function。 实际上,我认为你应该进行实验,因为你显然对最终选择的需求和限制有了更好的了解。

apiviz不需要注释来生成图形,因为它的文档明确指出:

APIviz默认自动发现包和类及其构造型之间的关系。 此外,您可以使用以下doclet标记添加更多关系或使生成的图表看起来更清晰。