UmlGraph与APIViz用于Maven javadoc生成的比较

4

我想知道在Maven2构建中,选择使用UmlGraph还是APIViz生成javadoc UML图表是否有明显的原因。它们之间是否有任何集成或功能上的差异,它们看起来非常相似?

2个回答

7

这里有一个有趣的讨论链接,关于UMLGraph和apiviz(在SO上也有提到这个问题),我的理解如下:

  • UMLGraph很古老但非常好用(据Fowler说,他的话比我更有分量)。
  • apiviz是UMLGraph的重写版本,但不清楚为什么要这样做。
  • apiviz的“大”优势在于,如果未安装Graphviz,则构建不会失败(但在我看来,这并不能完全证明需要进行整个重写)。
  • apiviz不会自动生成图形,您必须添加标记,而UMLGraph默认情况下会自动执行此操作(这可能很方便),完全自动化的结果对所有人都很好和容易理解UMLGraph还可以使用自定义javadocs标记来建模组成关系)。
  • UMLGraph似乎可以做更多的事情(“看起来apiviz除了提供一般化和接口利用的视图之外什么也没有做”,或者“UMLGraph显示的类使用情况实际上有助于理解类的工作原理”),但我自己没有检查过,这可能已经不再正确或过时了。

因此,如果您的项目是公共的,那么apiviz可以在没有Graphviz的情况下优雅地工作是很好的。如果您有很多类,到处添加javadoc标记是非常痛苦的。如果您正在寻找特殊功能,UMLGraph可能会提供更多。实际上,我认为您应该尝试两者,因为您显然对最终选择的需求和限制有更好的了解。


目前JDK 8存在一个ApiViz的未解决问题 https://github.com/grahamedgecombe/apiviz/issues/1 我已经创建了一个PR来解决这个问题,但它尚未合并 https://github.com/grahamedgecombe/apiviz/pull/2 - Archimedes Trajano

4

apiviz并不需要注释来生成图表,这一点在其文档中已经明确说明:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接