1

私はクラスを持っています:

public class Stuff implements OtherStuff<BigInteger>

これは、Eclipse と Maven を使用して完全にビルドされます。ただし、このクラスを内部クラスにしたいのですが、そうすると:

public class ParentStuff {
.
.
.
    public static class Stuff implements OtherStuff<BigInteger>

Eclipse は完全にビルドされますが、Maven は OtherStuff が認識されないトークンであると教えてくれます。スタッフが独自のクラスの場合、それは同じプロジェクト内にあるため、OtherStuff を使用できる必要があります。何かアイデアはありますか?

これを Java 1.7.0_05 + Maven 3.0.4 で再現しました。最新バージョンに移行することで問題が解決することを期待して、Java jdk1.7.0_25 + Maven 3.0.5 を使用しました。私の回避策は、Stuff を独自のクラスとして実装することですが、実際には内部クラスにする必要があります。

御時間ありがとうございます。

アップデート:

削除すると、次のことがわかりました。

import a.b.c.OtherStuff

そして、内部クラスで修飾参照を使用すると、Eclipse と Maven の両方が満足します。

public class ParentStuff {
.
.
.
    public static class Stuff implements a.b.c.OtherStuff<BigInteger>

ただし、インポートは問題なく機能するはずです。

4

1 に答える 1

3

内部クラス内に内部クラスはありますか? コンパイラのバグに遭遇した可能性があります:

http://bugs.sun.com/view_bug.do?bug_id=6707323

import ステートメントをクラスのトップから移動すると問題が修正されたという事実は、このバグを示唆しています。

于 2013-11-22T03:00:04.160 に答える