<bdo id='xgOzy'></bdo><ul id='xgOzy'></ul>
    1. <i id='xgOzy'><tr id='xgOzy'><dt id='xgOzy'><q id='xgOzy'><span id='xgOzy'><b id='xgOzy'><form id='xgOzy'><ins id='xgOzy'></ins><ul id='xgOzy'></ul><sub id='xgOzy'></sub></form><legend id='xgOzy'></legend><bdo id='xgOzy'><pre id='xgOzy'><center id='xgOzy'></center></pre></bdo></b><th id='xgOzy'></th></span></q></dt></tr></i><div id='xgOzy'><tfoot id='xgOzy'></tfoot><dl id='xgOzy'><fieldset id='xgOzy'></fieldset></dl></div>
      <tfoot id='xgOzy'></tfoot><legend id='xgOzy'><style id='xgOzy'><dir id='xgOzy'><q id='xgOzy'></q></dir></style></legend>
      1. <small id='xgOzy'></small><noframes id='xgOzy'>

        为类依赖关系生成图形数据的工具

        时间:2023-07-13
          <tbody id='26cTP'></tbody>
        <tfoot id='26cTP'></tfoot>

        <small id='26cTP'></small><noframes id='26cTP'>

        1. <i id='26cTP'><tr id='26cTP'><dt id='26cTP'><q id='26cTP'><span id='26cTP'><b id='26cTP'><form id='26cTP'><ins id='26cTP'></ins><ul id='26cTP'></ul><sub id='26cTP'></sub></form><legend id='26cTP'></legend><bdo id='26cTP'><pre id='26cTP'><center id='26cTP'></center></pre></bdo></b><th id='26cTP'></th></span></q></dt></tr></i><div id='26cTP'><tfoot id='26cTP'></tfoot><dl id='26cTP'><fieldset id='26cTP'></fieldset></dl></div>
            • <bdo id='26cTP'></bdo><ul id='26cTP'></ul>

              <legend id='26cTP'><style id='26cTP'><dir id='26cTP'><q id='26cTP'></q></dir></style></legend>
                • 本文介绍了为类依赖关系生成图形数据的工具的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  是否有一些工具能够分析 Java 源文件,从中构建图表并以某种标准/可理解的格式提供图表数据?

                  Is there some tool that is able to analyze Java source files, construct a graph from it and provide the graph's data in some standard / understandable format?

                  它绝对不需要 GUI,我更喜欢命令行的东西,这样我就可以通过各种工具(用于分割、可视化等)处理输出.

                  It definitively does not need to have GUI, I'd prefer a command line thing so I can process the output by various tools (for segmentation, visualization,...).

                  推荐答案

                  我不确定命令行工具,但我喜欢使用 ObjectAid 逆向工程到类图:

                  I'm not certain about command line tools, but I like using ObjectAid for reverse engineering into class diagrams:

                  http://www.objectaid.com/

                  您可以轻松地将任何类及其关系添加到 ObjectAid 图表中.它以带有 ucls 扩展名的 XML 格式保存文件.这是一个示例:

                  You can easily add any class with it's relationships to an ObjectAid graph. It saves the file in an XML format with the ucls extension. Here's a sample:

                  <?xml version="1.0" encoding="UTF-8"?>
                  <class-diagram version="1.1.4" icons="true"
                  always-add-relationships="true" generalizations="true" realizations="true"
                  associations="true" dependencies="true" nesting-relationships="true">
                  <class id="1" language="java"
                      name="my.classpath.common.controllers.AuthenticationInterceptor"
                      project="MyProject"
                      file="/SpecialPath/common/controllers/AuthenticationInterceptor.java"
                      binary="false" corner="BOTTOM_RIGHT">
                      <position height="205" width="355" x="2222" y="37" />
                      <display autosize="true" stereotype="true" package="true"
                          initial-value="false" signature="true" accessors="true" visibility="true">
                          <attributes public="true" package="true" protected="true"
                              private="true" static="true" />
                          <operations public="true" package="true" protected="true"
                              private="true" static="true" />
                      </display>
                  </class>
                  <class id="2" language="java"
                      name="my.classpath.common.domain.CompanyAssignmentLocation" project="MyProject"
                      file="/SpecialPath/common/domain/CompanyAssignmentLocation.java"
                      binary="false" corner="BOTTOM_RIGHT">
                      <position height="-1" width="-1" x="856" y="399" />
                      <display autosize="true" stereotype="true" package="true"
                          initial-value="false" signature="true" accessors="true" visibility="true">
                          <attributes public="true" package="true" protected="true"
                              private="true" static="true" />
                          <operations public="true" package="true" protected="true"
                              private="true" static="true" />
                      </display>
                  </class>
                  <class id="3" language="java"
                      name="my.classpath.common.domain.LocationsSpreadsheetReader" project="MyProject"
                      file="/SpecialPath/common/domain/LocationsSpreadsheetReader.java"
                      binary="false" corner="BOTTOM_RIGHT">
                      <position height="115" width="348" x="680" y="37" />
                      <display autosize="true" stereotype="true" package="true"
                          initial-value="false" signature="true" accessors="true" visibility="true">
                          <attributes public="true" package="true" protected="true"
                              private="true" static="true" />
                          <operations public="true" package="true" protected="true"
                              private="true" static="true" />
                      </display>
                  </class>
                  <class id="4" language="java" name="my.classpath.common.domain.Stock"
                      project="MyProject" file="/SpecialPath/common/domain/Stock.java"
                      binary="false" corner="BOTTOM_RIGHT">
                      <position height="439" width="210" x="430" y="37" />
                      <display autosize="true" stereotype="true" package="true"
                          initial-value="false" signature="true" accessors="true" visibility="true">
                          <attributes public="true" package="true" protected="true"
                              private="true" static="true" />
                          <operations public="true" package="true" protected="true"
                              private="true" static="true" />
                      </display>
                  </class>
                  <class id="5" language="java" name="my.classpath.common.util.FilesUtil"
                      project="MyProject" file="/SpecialPath/common/util/FilesUtil.java"
                      binary="false" corner="BOTTOM_RIGHT">
                      <position height="277" width="218" x="1409" y="37" />
                      <display autosize="true" stereotype="true" package="true"
                          initial-value="false" signature="true" accessors="true" visibility="true">
                          <attributes public="true" package="true" protected="true"
                              private="true" static="true" />
                          <operations public="true" package="true" protected="true"
                              private="true" static="true" />
                      </display>
                  </class>
                  <class id="6" language="java" name="my.classpath.common.util.MyProjectUtil"
                      project="MyProject" file="/SpecialPath/common/util/MyProjectUtil.java"
                      binary="false" corner="BOTTOM_RIGHT">
                      <position height="439" width="349" x="41" y="37" />
                      <display autosize="true" stereotype="true" package="true"
                          initial-value="false" signature="true" accessors="true" visibility="true">
                          <attributes public="true" package="true" protected="true"
                              private="true" static="true" />
                          <operations public="true" package="true" protected="true"
                              private="true" static="true" />
                      </display>
                  </class>
                  <class id="7" language="java" name="my.classpath.common.util.SpringUtil"
                      project="MyProject" file="/SpecialPath/common/util/SpringUtil.java"
                      binary="false" corner="BOTTOM_RIGHT">
                      <position height="133" width="246" x="1936" y="37" />
                      <display autosize="true" stereotype="true" package="true"
                          initial-value="false" signature="true" accessors="true" visibility="true">
                          <attributes public="true" package="true" protected="true"
                              private="true" static="true" />
                          <operations public="true" package="true" protected="true"
                              private="true" static="true" />
                      </display>
                  </class>
                  <class id="8" language="java"
                  name="my.classpath.common.util.MyProjectUserUtil" project="MyProject"
                  file="/SpecialPath/common/util/MyProjectUserUtil.java" binary="false"
                  corner="BOTTOM_RIGHT">
                      <position height="133" width="229" x="1667" y="37" />
                      <display autosize="true" stereotype="true" package="true"
                          initial-value="false" signature="true" accessors="true" visibility="true">
                          <attributes public="true" package="true" protected="true"
                              private="true" static="true" />
                          <operations public="true" package="true" protected="true"
                              private="true" static="true" />
                      </display>
                  </class>
                  <class id="9" language="java" name="my.classpath.common.util.UnitConversion"
                      project="MyProject" file="/SpecialPath/common/util/UnitConversion.java"
                      binary="false" corner="BOTTOM_RIGHT">
                      <position height="151" width="301" x="1068" y="37" />
                      <display autosize="true" stereotype="true" package="true"
                          initial-value="false" signature="true" accessors="true" visibility="true">
                          <attributes public="true" package="true" protected="true"
                              private="true" static="true" />
                          <operations public="true" package="true" protected="true"
                              private="true" static="true" />
                      </display>
                  </class>
                  <dependency id="10">
                      <end type="SOURCE" refId="3" />
                      <end type="TARGET" refId="2" />
                  </dependency>
                  <classifier-display autosize="true" stereotype="true"
                      package="true" initial-value="false" signature="true" accessors="true"
                      visibility="true">
                      <attributes public="true" package="true" protected="true"
                          private="true" static="true" />
                      <operations public="true" package="true" protected="true"
                          private="true" static="true" />
                  </classifier-display>
                      <association-display labels="true" multiplicity="true" />
                  </class-diagram>
                  

                  您也可以使用 PlantUML,但它更适合正向工程而不是逆向工程:

                  You can also use PlantUML, but it's better for forward engineering than reverse engineering:

                  http://plantuml.sourceforge.net/

                  PlantUML 有自己独特的语法,您也可以从中获取源代码 - 但它不像 ObjectAid 那样容易整合

                  PlantUML has its own unique syntax that you can get source for, too - but it's not nearly as easy to pull together as ObjectAid

                  这两个都作为 eclipse 插件工作,抱歉,我不知道更多关于任何命令行工具可能能够完成您所要求的工作.

                  Both of these work as eclipse plug-ins, sorry that I don't know more about any command line tools that might be able to do what you're asking.

                  这篇关于为类依赖关系生成图形数据的工具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:依赖和组合之间的区别? 下一篇:Intellij Java 2016 &amp;Maven:如何在 JAR 中嵌入依赖项?

                  相关文章

                  <legend id='OunM8'><style id='OunM8'><dir id='OunM8'><q id='OunM8'></q></dir></style></legend>

                    <tfoot id='OunM8'></tfoot>

                    <i id='OunM8'><tr id='OunM8'><dt id='OunM8'><q id='OunM8'><span id='OunM8'><b id='OunM8'><form id='OunM8'><ins id='OunM8'></ins><ul id='OunM8'></ul><sub id='OunM8'></sub></form><legend id='OunM8'></legend><bdo id='OunM8'><pre id='OunM8'><center id='OunM8'></center></pre></bdo></b><th id='OunM8'></th></span></q></dt></tr></i><div id='OunM8'><tfoot id='OunM8'></tfoot><dl id='OunM8'><fieldset id='OunM8'></fieldset></dl></div>
                  1. <small id='OunM8'></small><noframes id='OunM8'>

                        <bdo id='OunM8'></bdo><ul id='OunM8'></ul>