Eclipse解析隐含的“组织进口”

时间:2014-02-24 17:38:21

标签: eclipse import ide project-organization

我无法得到它。当我尝试为整个项目组织Imports时,我在Eclipse中遇到了一个常见问题。清除的简短例子

package test.somepackage
class A{

    public B getB(){ return new B() }
}

package test.somepackage
class B{} 

package foobar
class B {}

package somewhere.in.code
class ClientUsingAAndB {

    public void someMethod(){

        A a = new A()
        //here Eclipse gets an "Organize Import Conflict"
        B b = a.getB();

    }
}

因此,如果我尝试自动“组织进口”,Eclipse会问我是否要导入test.somepackage.Bfoobar.B。对我来说非常清楚哪一个,如果我告诉Eclipse使用foobar.B Eclipse立即抱怨不匹配的返回类型。事情是:如果Eclipse已经知道它获得了哪种返回类型(来自A类签名),为什么它会像愚蠢一样? 此外,如果我只是将a.getB()悬停在它上面,并告诉Eclipse“将语句分配给新的局部变量”(strg + 1),它会自动推断出正确的类型并添加导入。

发生了什么事?这是某种令人讨厌的Eclipse错误,没有人想修复,或者我是否想要从IDE中获取太多内容?

编辑: 如果有什么不太清楚,请评论,我会尝试提供必要的信息

1 个答案:

答案 0 :(得分:2)

这是一个长期的要求(可追溯到2005年)。见this Eclipse report停滞不前。也许你可以参与并帮助解决它。我知道JDT团队会欢迎这些小改进的贡献。