但是,每次运行javadoc命令时,我都会遇到一个奇怪的错误:
[javadoc] javadoc: warning - Errors running Graphviz on /private/tmp/test/docs/Class1.dot
[javadoc] Building Context view for class Fail
[javadoc] javadoc: warning - Errors running Graphviz on /private/tmp/test/docs/Class2.dot我的代码是这样的:
import externalPackage.TestClass;
public abstract class Class1 {
private TestClass myFail;
public boolean doSomething(TestClass fail) {
return true;
}
}
public class Class2 extends Class1 {
@Override
public boolean doSomething(TestClass fail) {
fail.toString();
return false;
}
}build.xml
<project name="de.matt3o12.test" default="javadocs">
<path id="lib">
<fileset dir="lib">
<include name="**/*.jar" />
</fileset>
</path>
<target name="javadocs">
<javadoc verbose="true" destdir="docs" public="true">
<classpath>
<path refid="lib" />
<path path="${javac.classpath}" />
</classpath>
<fileset dir="src">
<filename name="**/*.java" />
</fileset>
<doclet name="org.umlgraph.doclet.UmlGraphDoc" path="lib/UMLGraph.jar">
<param name="-inferrel"/>
<param name="-inferdep"/>
<param name="-hide" value="java.*"/>
<param name="-collpackages" value="java.util.*"/>
<param name="-qualify"/>
<param name="-postfixpackage"/>
<param name="-nodefontsize" value="9"/>
<param name="-nodefontpackagesize" value="7"/>
<param name="-link" value="http://java.sun.com/j2se/1.5.0/docs/guide/javadoc/doclet/spec"/>
<param name="-link" value="http://java.sun.com/j2se/1.5/docs/api"/>
</doclet>
</javadoc>
</target>
</project>我用的是Mac,狮子和小牛。我的小淘气电脑上的点版是dot - graphviz version 2.38.0。这是最新的二进制包下载。
下面是包含用于生成此错误的所有类(和lib)的压缩文件。当您运行ANT脚本时,会生成像上面这样的错误。文档看起来很好(甚至UML图),但是,在我的更大的项目上(首先我得到了错误),一些生成错误的图表不起作用。
只有在下列情况下才会发生这些错误:
doSomething被覆盖myFail。如果删除了myFail,或者doSomething没有被覆盖(例如,它没有在Class1 或Class2中定义),或者TestClass在同一个包中,那么就不会发生错误。
发布于 2014-06-02 17:53:27
我能够重现这个问题。这不是与Mac相关的,而是由UMLGraph源代码中的单个空格字符引起的一个微妙的错误。它已经在Git主版(开发版本)中得到了修正。我是通过克隆UMLGraph回购并将其与上一个版本(tag R5_6_6)平分来发现的。为此,我使用Maven构建了库,并使用Ant项目运行了每个二分构建。最后,我发现提交@8d77597解决了这个问题。
底线:只需从GitHub克隆回购并构建快照版本,那么您的问题就会消失。我将在这里打开一个链接到这个页面的问题,并代表您请求一个you修复版本。
更新:--这是要求发布一个新的bugfix修复版本的票证。为你祈祷..。
https://stackoverflow.com/questions/23790192
复制相似问题