首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行Graphviz的UmlGraphDoc错误

运行Graphviz的UmlGraphDoc错误
EN

Stack Overflow用户
提问于 2014-05-21 17:33:44
回答 1查看 476关注 0票数 0

但是,每次运行javadoc命令时,我都会遇到一个奇怪的错误:

代码语言:javascript
复制
[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

我的代码是这样的:

代码语言:javascript
复制
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

代码语言:javascript
复制
<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图),但是,在我的更大的项目上(首先我得到了错误),一些生成错误的图表不起作用。

只有在下列情况下才会发生这些错误:

  • TestClass位于外部包中(包含该类的jar是在类路径中定义的。( javac完美地工作)。
  • doSomething被覆盖
  • 设置了私有变量myFail

如果删除了myFail,或者doSomething没有被覆盖(例如,它没有在Class1 Class2中定义),或者TestClass在同一个包中,那么就不会发生错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-02 17:53:27

我能够重现这个问题。这不是与Mac相关的,而是由UMLGraph源代码中的单个空格字符引起的一个微妙的错误。它已经在Git主版(开发版本)中得到了修正。我是通过克隆UMLGraph回购并将其与上一个版本(tag R5_6_6)平分来发现的。为此,我使用Maven构建了库,并使用Ant项目运行了每个二分构建。最后,我发现提交@8d77597解决了这个问题。

底线:只需从GitHub克隆回购并构建快照版本,那么您的问题就会消失。我将在这里打开一个链接到这个页面的问题,并代表您请求一个you修复版本。

更新:--这是要求发布一个新的bugfix修复版本的票证。为你祈祷..。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23790192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档