如何让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
任何想法,为什么它不解析类详细信息?
答案 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