【问题标题】:Error in generating javadoc using UMLGraph, getting error in processing "dot file"使用 UMLGraph 生成 javadoc 时出错,处理“点文件”时出错
【发布时间】:2014-06-25 08:25:04
【问题描述】:

我正在尝试通过 UmlGraph 从源代码生成类图。 我已经构建并创建了 umlgraph.jar,但是当我在我的项目中使用它时,它给了我以下错误::

[javadoc] java.io.IOException: Cannot run program "dot": CreateProcess error=2, The system cannot find the file specified
  [javadoc]     at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
  [javadoc]     at java.lang.Runtime.exec(Runtime.java:593)
  [javadoc]     at java.lang.Runtime.exec(Runtime.java:466)
  [javadoc]     at org.umlgraph.doclet.UmlGraphDoc.runGraphviz(UmlGraphDoc.java:131)
  [javadoc]     at org.umlgraph.doclet.UmlGraphDoc.generatePackageDiagrams(UmlGraphDoc.java:95)
  [javadoc]     at org.umlgraph.doclet.UmlGraphDoc.start(UmlGraphDoc.java:63)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  [javadoc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  [javadoc]     at java.lang.reflect.Method.invoke(Method.java:597)
  [javadoc]     at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
  [javadoc]     at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
  [javadoc]     at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
  [javadoc]     at com.sun.tools.javadoc.Start.begin(Start.java:128)
  [javadoc]     at com.sun.tools.javadoc.Main.execute(Main.java:41)
  [javadoc]     at com.sun.tools.javadoc.Main.main(Main.java:31)

我已经下载了 GraphViz 并设置了 Graphviz 的路径。 请帮帮我,我是新手。

ant 文件中的 javadoc 目标 ::

    <fileset dir="${srcroot.dir}" >
            <filename name="**/*.java"/>
        </fileset>

               <doclet name="org.umlgraph.doclet.UmlGraphDoc"
                  path="${umlLib.dir}/UmlGraph.jar">
                    <param name="-attributes"  />
                    <param name="-operations"  />
                    <param name="-qualify" />
                    <param name="-types"  />
                    <param name="-visibility"  />
                </doclet>
              </javadoc>
      <apply executable="dot" dest="${reports.dir}" parallel="false">
        <arg value="-Tpng"/>
        <arg value="-o"/>
         <targetfile/>
         <srcfile/>
         <fileset dir="${reports.dir}" includes="*.dot"/>
         <mapper type="glob" from="*.dot" to="*.png"/>
      </apply>
</target>

【问题讨论】:

  • Ant 没有在 PATH 中找到“dot”或“dot.exe”。您正在运行什么操作系统(Windows、Unix 等)?
  • @ChadNouis :: 我正在使用 Windows 7
  • @ChadNouis ::我已经从graphviz.org/Download_source.php下载了graphViz点文件处理器,并给出了bin的路径..实际上我试图按照本教程来做到这一点::java.dzone.com/articles/reverse-engineer-source-code-u
  • 在命令提示符中,运行以下命令并发布输出:ant -diagnostics | findstr java.library.path
  • 你的可执行文件在哪里?路径是否包含program files 之类的空格?

标签: java ant uml umlgraph


【解决方案1】:

我收到了相同的“点”消息。 http://sourceforge.net/p/schemaspy/discussion/462849/thread/38a9bfad/#7a89 表示在安装 GraphViz 并将其添加到您的路径后重新启动您的机器。我这样做了,那成功了。

【讨论】:

    【解决方案2】:

    将 \graphviz-2.38\release 的路径添加到你的类路径,你就完成了。

    【讨论】:

      【解决方案3】:

      我遇到了关于 mysql-connector 和 dot 可执行文件的常见问题。如果您将正确的值传递给 -gv,则无需重新启动机器,相信我。我已经安装了 Graphviz,发现 mysql-connector 正在对 *.jar 文件进行排序搜索。

      以下几行是我执行语句的方式。

      java 
      -jar schemaSpy.jar 
      -t mysql 
      -o library 
      -host localhost 
      -db dummyDB 
      -u user
      -p user
      -dp C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\mysql-connector-java-commercial-5.1.22\mysql-connector-java-commercial-5.1.22-bin.jar 
      -gv "C:\Program Files (x86)\Graphviz2.38"
      

      【讨论】:

        【解决方案4】:

        这需要安装 GraphViz。信息可在此处获得。 https://graphviz.gitlab.io/download/

        【讨论】:

          猜你喜欢
          • 2013-03-27
          • 1970-01-01
          • 2022-01-01
          • 2010-12-15
          • 2020-09-23
          • 1970-01-01
          • 2020-03-01
          • 2015-03-04
          • 2011-05-25
          相关资源
          最近更新 更多