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

-verbose問題の原因となっている .java ファイルを確認するオプションを指定して javac を実行することから始めます。

于 2009-08-29T20:43:25.550 に答える
0

Eclipse のような別のコンパイラーを試してみるのはどうですか? 私の経験では、多くの場合、エラーメッセージは少なくとも異なります。また、このようなコンパイルの失敗はまだ見たことがありません。

于 2009-08-29T20:46:52.877 に答える