Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用UMLGraph生成javadoc时出错,处理时出错;点文件;_Java_Ant_Uml_Umlgraph - Fatal编程技术网

使用UMLGraph生成javadoc时出错,处理时出错;点文件;

使用UMLGraph生成javadoc时出错,处理时出错;点文件;,java,ant,uml,umlgraph,Java,Ant,Uml,Umlgraph,我试图通过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(ProcessBuil

我试图通过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)
    <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>
我已经下载了GraphViz并设置了GraphViz的路径。 请帮帮我,伙计们,我是新来的

    <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文件中的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>

    <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>


我收到了同样的“点”信息。指示在安装GraphViz并将其添加到路径后重新启动计算机。我做到了这一点,也做到了这一点。

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

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

    <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>
下面几行是我执行语句的方式

    <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>
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"

Ant在路径上找不到“dot”或“dot.exe”。您正在运行什么操作系统(Windows、Unix等)?@ChadNouis::我正在使用Windows7@ChadNouis::我已经从下载了graphViz点文件处理器,并给出了bin的路径。。实际上,我正在按照本教程进行操作::在命令提示符下,运行以下命令并发布输出:
ant-diagnostics | findstr java.library.path
?路径是否包含像
程序文件那样的空白?