Eclipse Java项目中的所有内容都工作正常,但是当我覆盖toString()和equals()时,我无法识别的绿色箭头出现在覆盖方法声明开头旁边的文本编辑器边缘。当我点击它时,我在编辑器中找到了一个名为“类文件编辑器”的新选项卡,并且在明显的“未找到来源”投诉下的消息显示:
JAR文件C:/ Program Files / Java / jre7 / lib / rt.jar没有源代码 附件。
并且可以选择添加明显缺失的来源。但是,代码工作得很好。例如,输出:
class TestClass
{
@Override
public String toString() // <--- green arrow appears in the margin on this line
{
return "Class TestClass";
}
public static void main(String[] args)
{
TestClass tc = new TestClass();
System.out.println(tc.toString());
}
}
是预期的:
Class TestClass
尽管有明显的抱怨。
其他各种海报似乎在调试时遇到了类似的抱怨和实际后果,但事实并非如此。有人可以解释发生了什么,以及我应该采取什么措施?
答案 0 :(得分:0)
这是一条消息,其中您正在运行的应用的类路径没有使用rt.jar的源代码(更直接地说,Eclipse无法找到匹配的限定条件)正在显示的类的源文件)。该类路径基于项目JRE System Library
中的Java Build Path
。
不关于哪个正在运行Eclipse。它完全取决于项目指向哪个。如果您希望很容易找到标准类库中的内容,请将项目的JRE
设置为指向JDK
。