煩惱歲月

          付出總是有回報(bào)的 take action follow your heart , or follow your head
          posts - 40, comments - 5, trackbacks - 0, articles - 4

          使用UMLGraph來生成uml圖

          Posted on 2010-04-19 23:59 不需要解釋 閱讀(1890) 評論(0)  編輯  收藏 所屬分類: antmaven

              最近在看一些項(xiàng)目的代碼,總是發(fā)現(xiàn)很少項(xiàng)目提供出uml圖,或者就是提供uml圖的也有可能并沒有和代碼對應(yīng)上,如果有正確的uml圖,可以非常方便的為大家更好的理解代碼層次邏輯。其實(shí)我們可以使用使用UMLGraph來生成uml圖,直接使用java代碼來生成UMLGraph。對于大部分項(xiàng)目來說,我們一般使用maven和ant(還在使用ant,你out了)來作為項(xiàng)目的編譯工具。

              在maven中,我們可以在pom.xml增加:

              <reporting>
                  <plugins>
                  <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <version>2.6.1</version>
                  <configuration>
                    <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
                    <!-- <docletPath>/path/to/UmlGraph.jar</docletPath> -->
                    <docletArtifact>
                      <groupId>org.umlgraph</groupId>
                      <artifactId>doclet</artifactId>
                      <version>5.1</version>
                    </docletArtifact>
                    <additionalparam>-views</additionalparam>
                    <useStandardDocletOptions>true</useStandardDocletOptions>
                  </configuration>
                  </plugin>
                  </plugins>
              </reporting>

          使用javadoc:aggregate 就可以生成出整個項(xiàng)目按照package的uml圖了。

          如果是使用ant,在build.xml中增加target

             <target name="genuml">
                  <property name="uml.dir" value="${basedir}/uml"/>
                  <property name="src.uml.dir" value="${src.dir}/uml"/>
                  <mkdir dir="${uml.dir}"/>
                  <path id="uml.source.path">
                     <pathelement path="${src.uml.dir}/"/>
                     <pathelement path="${src.java.dir}"/>
                  </path>
                  <javadoc sourcepathref="uml.source.path" packagenames="*" package="true">
                     <doclet name="org.umlgraph.doclet.UmlGraph" path="${basedir}/lib/UmlGraph.jar">
                         <param name="-d" value="${uml.dir}"/>
                     </doclet>
                  </javadoc>
                  <apply executable="dot" dest="${uml.dir}" parallel="false">
                      <arg value="-Tpng"/>
                      <arg value="-o"/>
                      <targetfile/>
                      <srcfile/>
                      <fileset dir="${uml.dir}" includes="*.dot"/>
                      <mapper type="glob" from="*.dot" to="*.png"/>
                  </apply>
              </target>

          注意:要正常使用 UMLGraph,您必須先安裝 Graphviz 工具,請自己google相關(guān)信息。


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          我實(shí)話告訴你們,我可是身經(jīng)百戰(zhàn)了.bbs我見的多了,哪個版我沒灌過?你們要知道, 一塌糊 涂的triangle,PIC,SEX版,那比你們不知道厲害到哪里去了,我在那談笑風(fēng)聲.你 們有一好就是無論在哪個版,什么話題都灌,但是灌來灌去的問題,都too simple, sometimes naive!你 們懂不懂呀?啊?所以說灌水啊,關(guān)鍵是要提高自己的知識水平.你 們啊,不要總想著弄個大坑,然后灌上十大,再把我羞辱一番……你們啊,naive!你們這 樣灌是不行地!~那你問我支持 不支持灌水,我說支持,我常來這裡灌,你說支持不支持?
          主站蜘蛛池模板: 柞水县| 沐川县| 临城县| 嵊州市| 开鲁县| 阿克陶县| 邢台市| 璧山县| 马龙县| 中卫市| 开远市| 彰化市| 安泽县| 布拖县| 遂平县| 南乐县| 靖宇县| 康平县| 仪征市| 新晃| 汨罗市| 铁岭市| 乌鲁木齐县| 蒙自县| 宝应县| 宝鸡市| 鹰潭市| 横山县| 诸暨市| 三亚市| 都江堰市| 缙云县| 湘乡市| 奈曼旗| 蒙阴县| 南澳县| 阆中市| 晋宁县| 石渠县| 紫金县| 阳新县|