如何在Java文档中绘制UML?
我正在尝试找到一个工具/框架/插件,它允许我在我的
javadocs注释中绘制UML图.我不需要逆向工程自动化UML图片(由
UMLGraph和其他人有效提供).我希望能够创建自己的自定义图表.你能建议吗?
解决方法
我尝试了3种方法,使用maven-javadoc-plugin和doclets在JavaDocs中生成UML Diagrams:
1)UmlGraphDoc 2)apiviz 3)yworks 我可以说最好的是选项3,这是因为它是唯一一个不需要在开发pc中安装东西的选项. 对于UmlGraphDoc和apiviz(两个doclet),他们需要在PC中安装GraphViz. 安装它并配置maven-javadoc-plugin很简单,但由于它们需要一个单独的应用程序,它会使UML生成变得有点脏,因为如果你想将uml生成包含在你的maven生命周期中,那么所有其他开发人员将需要安装GraphViz(我真的想避免的依赖). 无论如何,这个链接有我遵循的方法,使用yworks(它确实有效): > http://archive.keyboardplaying.org/2012/05/29/javadoc-uml-diagrams-maven/ 如下所示我的3次尝试配置,以防您想要自己确认哪一个更好: 第一次尝试:UmlGraphDoc 它需要安装graphviz-2.38(google it,很容易找到) <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.2</version> <reportSets> <reportSet> <id>uml</id> <reports> <report>javadoc</report> </reports> <configuration> <name>uml</name> <destDir>uml</destDir> <quiet>true</quiet> <aggregate>true</aggregate> <show>private</show> <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet> <docletArtifact> <groupId>org.umlgraph</groupId> <artifactId>umlgraph</artifactId> <version>5.6.6</version> </docletArtifact> <additionalparam> -inferrel -inferdep -quiet -hide java.* -hide org.eclipse.* -collpackages java.util.* -postfixpackage -nodefontsize 9 -nodefontpackagesize 7 -attributes -types -visibility -operations -constructors -enumerations -enumconstants -views </additionalparam> <useStandardDocletOptions>true</useStandardDocletOptions> </configuration> </reportSet> </reportSets> </plugin> 第二次尝试:Apiviz 它还需要安装graphviz-2.38(Google it,很容易找到) <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.5</version> <configuration> <name>JavaDocUML</name> <destDir>uml</destDir> <doclet>org.jboss.apiviz.APIviz</doclet> <stylesheetfile>${basedir}/src/main/resources/javadoc/javadoc-stylesheet.css</stylesheetfile> <docletArtifact> <groupId>org.jboss.apiviz</groupId> <artifactId>apiviz</artifactId> <version>1.3.2.GA</version> </docletArtifact> <useStandardDocletOptions>true</useStandardDocletOptions> <charset>UTF-8</charset> <encoding>UTF-8</encoding> <docencoding>UTF-8</docencoding> <breakiterator>true</breakiterator> <version>true</version> <author>true</author> <keywords>true</keywords> <additionalparam> -sourceclasspath ${project.build.outputDirectory} </additionalparam> </configuration> </plugin> 第3次尝试(ywork)(我推荐这个) 图表更易理解,更宽广:D <properties> <yworks.uml.path>${basedir}....toolsyworks-uml-doclet-3.0_02-jdk1.5</yworks.uml.path> </properties> . . <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.2</version> <configuration> <name>JavaDocUML</name> <destDir>uml</destDir> <!-- Doclet --> <doclet>ydoc.doclets.YStandard</doclet> <docletPath>${yworks.uml.path}/lib/ydoc.jar:${yworks.uml.path}/resources:${basedir}/target/your.application.jar</docletPath> <additionalparam>-umlautogen</additionalparam> <useStandardDocletOptions>true</useStandardDocletOptions> <!-- bootclasspath required by Sun's JVM --> <bootclasspath>${sun.boot.class.path}</bootclasspath> <!-- General Javadoc settings --> <doctitle>${project.name} (${project.version})</doctitle> <show>private</show> <!-- Styling --> <stylesheetfile>${basedir}/src/main/resources/javadoc/javadoc-stylesheet.css</stylesheetfile> <docfilessubdirs>true</docfilessubdirs> <!-- Apple's JVM sometimes requires more memory --> <additionalJOption>-J-Xmx1024m</additionalJOption> <verbose>true</verbose> </configuration> </plugin> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |