1

在编译我的项目时,我得到:

The system is out of resources.
Consult the following stack trace for details.
java.lang.StackOverflowError
    at com.sun.tools.javac.code.Type$WildcardType.isSuperBound(Type.java:435)
    at com.sun.tools.javac.code.Types$1.visitWildcardType(Types.java:102)
    at com.sun.tools.javac.code.Types$1.visitWildcardType(Types.java:98)
    at com.sun.tools.javac.code.Type$WildcardType.accept(Type.java:416)
    at com.sun.tools.javac.code.Types$MapVisitor.visit(Types.java:3232)
    at com.sun.tools.javac.code.Types.upperBound(Types.java:95)
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2986)
    at com.sun.tools.javac.code.Types.adapt(Types.java:3016)
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2977)
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2986)
    at com.sun.tools.javac.code.Types.adapt(Types.java:3016)
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2977)
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2986)
    at com.sun.tools.javac.code.Types.adapt(Types.java:3016)
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2977)
    at com.sun.tools.javac.code.Types.adaptRecursive(Types.java:2986)
    at com.sun.tools.javac.code.Types.adapt(Types.java:3016)
    ...

你如何找到问题的根源?

我发现了一个错误报告...

4

3 回答 3

2

您链接到的错误报告表明该错误已在 JDK 6 中修复。您使用哪个版本的 JDK 构建?

如果您无法确定导致问题的源代码部分,也许您可​​以尝试使用 JDK 6 进行编译,看看它是否可以在不崩溃的情况下识别问题。

否则,我会使用“分而治之”的方法:删除一半的源代码,编译,看看它是否仍然崩溃。根据是否存在,您将知道问题出在哪一半。重复。

于 2009-08-29T20:46:29.897 回答
0

我将首先运行 javac 并-verbose选择查看哪个 .java 文件导致了问题。

于 2009-08-29T20:43:25.550 回答
0

尝试不同的编译器怎么样,比如 Eclipse 中的编译器?它的错误消息至少是不同的,根据我的经验,往往更重要。而且我还没有看到像这样的编译失败。

于 2009-08-29T20:46:52.877 回答