EclipseJava项目:";“未找到来源”;工作守则中的投诉
EclipseJava项目中的一切工作正常,但当我重写toString()和equals()时,文本编辑器的空白处会出现一个我无法识别的绿色箭头,位于重写方法声明的开始处。当我点击它时,我会在编辑器中看到一个名为“类文件编辑器”的新选项卡,明显的“未找到源”投诉下面的消息如下: JAR文件C:/Program Files/Java/jre7/lib/rt.JAR没有源代码 附件 还有一个选项可以添加明显缺失的源。然而,该代码的工作方式仍然很好。例如,此文件的输出:EclipseJava项目:";“未找到来源”;工作守则中的投诉,java,eclipse,overriding,Java,Eclipse,Overriding,EclipseJava项目中的一切工作正常,但当我重写toString()和equals()时,文本编辑器的空白处会出现一个我无法识别的绿色箭头,位于重写方法声明的开始处。当我点击它时,我会在编辑器中看到一个名为“类文件编辑器”的新选项卡,明显的“未找到源”投诉下面的消息如下: JAR文件C:/Program Files/Java/jre7/lib/rt.JAR没有源代码 附件 还有一个选项可以添加明显缺失的源。然而,该代码的工作方式仍然很好。例如,此文件的输出: class TestClass
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());
}
}
尽管有明显的抱怨
其他各种海报似乎在调试过程中遇到了类似的投诉,造成了实际后果,但这里的情况并非如此。有人能解释一下发生了什么以及我应该怎么做吗?这是一条消息,其中您正在运行的应用程序的类路径没有正在使用的rt.jar的源(更直接地说,Eclipse找不到与所显示的类相匹配的合格源文件)。该类路径基于项目的
Java构建路径
中的JRE系统库
这与运行Eclipse的人无关。这完全取决于项目指向哪一个。如果您想轻松找到标准类库中的源代码,请将项目的
JRE
设置为指向JDK
。对此不确定,但这可能与eclipse由JRE而不是JDK运行有关,或者在“已安装的JRE”列表中,您应该用JDK替换JRE(对不起,我真的不确定)@Leo:谢谢。Eclipse是在jre下运行的。我按照这里的说明[link]和这里的[link]但是在Help-->关于Eclipse-->安装详细信息下,-vm
的参数仍然是原始的C:\Windows\system32\javaw.exe
,因此我不知道这两种方法是否有任何效果,问题仍然存在。为了检查我的安装是否不可靠,我下载了另一个版本的Eclipse,我得到了相同的行为--在安装详细信息
中包含与-vm
相同的参数。这一定是一个配置问题。jdk位于项目的生成路径上。如果问题是因为项目找不到标准类库,为什么超类方法首先可用?它抱怨找不到sources forC:/Program Files/Java/jre7/lib/rt.jar
对吗?那么它至少是用JRE而不是JDK运行的——可能是在现有的启动配置中需要更新的东西?不管出于什么原因,再次编辑eclipse.ini文件最终达到了预期的效果。现在,绿色箭头打开了一个显示源代码的新选项卡de.SO上的此海报[链接]似乎在编辑.ini文件时也遇到了问题。实际上,我不知道发生了什么。Windows search从备份文件夹返回eclipse.ini文件,而不是从当前安装返回。因此编辑这些文件不可能改变任何事情。但行为突然变了。我已经更新了构建路径,以包括他启动了jdk并重新启动了两个安装,所以效果应该已经发生了。我要把这一个归于机器中的幽灵。
Class TestClass