当类变成内部类时,Maven编译失败(尽管Eclipse很好)



我有一个类:

public class Stuff implements OtherStuff<BigInteger>

它完美地使用Eclipse和Maven构建。然而,我真的希望这个类是一个内部类,但当我这样做时:

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

Eclipse构建完美,但现在Maven告诉我OtherStuff是一个未被识别的令牌。当Stuff是它自己的类时,它仍然在同一个项目中,所以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>

尽管如此,我仍然认为进口应该很好。

您的内部类中有内部类吗?您可能遇到了编译器错误:

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

从类的顶部移动import语句修复了这个问题,这一事实暗示了这个错误。

相关内容

最新更新