使用UMLGraph为多个java类生成单点文件

时间:2015-10-05 03:13:23

标签: java parsing graphviz umlgraph

如何让UMLGraph为包中的所有底层.java类生成单个图?

我正在使用UMLGraph和Graphviz来生成.png UML图文件。 我正在运行以使a.dot文件生成的命令是:

java -jar C:/Program Files/Java/jdk1.7.0_80/lib/UmlGraph.jar -all -private A.java

这会成功运行.dot文件。

但是,我希望从中创建一个单独的UML图(它们都通过java代码相互链接)。 " uml-parser-test-1" (文件夹/包)包含所有大约5个.java文件,为此我正在运行

C:/Users/xyz > java -jar "C:/Program Files/Java/jdk1.8.0_60/lib/UmlGraph.jar" -all -private "D:/xyz/abcd/uml-parser-test-1/"

当我运行上面的代码时,出现错误:UMLGRAPH ERROR - ILLEGAL PACKAGE NAME

我哪里出错

                      **EDIT:: 6th Oct**

umlgraph.jar路径存在问题,我已经纠正过了。感谢您指出了这一点。 现在我能够运行您建议的命令而不会出现任何错误。那件事是我的"人物" package(文件夹)包含4个java文件(A,B,C,D.java)。当我运行该命令时,它在命令行上而不是在我的文件系统中生成.dot文件。此外,由于没有关于类的信息,因此它不完整:

以下是我的命令行的跟踪。

 C:\Users\xyz>java -classpath "C:/Program Files/Java/jdk1.8.0_60/lib/UmlGraph.jar;C:/Program Files/Java/jdk1.8.0_20/lib/tools.jar" org.umlgraph.doclet.UmlGraph -package -output - -sourcepath "C:/Program Files/Java/jdk1.8.0_60/lib/Persons" org.umlgraph.doclet

Loading source files for package org.umlgraph.doclet...
UmlGraph: warning - No source files for package org.umlgraph.doclet
Constructing Javadoc information...
UmlGraph: warning - No source files for package org.umlgraph.doclet
UMLGraph doclet version R5_7_2-3-gee82a7 started
Building general class diagram
#!/usr/local/bin/dot
#
# Class diagram
# Generated by UMLGraph version R5_7_2-3-gee82a7 (http://www.umlgraph.org/)
#

digraph G {
        edge [fontname="arial",fontsize=10,labelfontname="arial",labelfontsize=10];
        node [fontname="arial",fontsize=10,shape=plaintext];
        nodesep=0.25;
        ranksep=0.5;
}

2 warnings

任何想法,为什么它不解析类详细信息?

1 个答案:

答案 0 :(得分:1)

您必须在命令行调用中指定包名称及其源代码所在的目录。以下示例在UMLGraph目录中运行时,会为UMLGraph类生成一个图表。

java -classpath "lib/UmlGraph.jar;C:\Program Files\Java\jdk1.8.0_20/lib/tools.jar" org.umlgraph.doclet.UmlGraph -package -output - -sourcepath src/main/java org.umlgraph.doclet | dot -Tpng -oumlgraph.png
相关问题