Java调试:找不到源代码

我遇到Eclipse的问题,我可以运行我的程序,但是当我尝试启动调试器时,我收到此消息

Eclipse窗口显示错误

图片有点难以理解,但它没有得到正常的调试窗口,而是说它抛出了一个ClassNotFoundException,并试图为Launcher $ ExtClassLoader显示源。

真正令我感到困惑的是,我可以运行代码就好了,只有当我点击调试按钮时才会遇到问题。

我也试过在JDB的命令行调试,我得到了同样的错误。

到目前为止,我已经尝试重新安装Eclipse并下载(我相信是)适用于Mac OS X的正确Java开发工具。

我不知道我还能尝试什么,所以任何帮助都将不胜感激。 如果我能提供任何其他信息,请告诉我。

未找到源可能对于动态加载的代码(例如Maven)是合法的。

我知道有三种解决方法(经过数月的搜索):

  1. 使用调试器连接到正在运行的JVM,您将看到代码。

  2. 从这里使用Eclipse的Dynamic Source Lookup插件:

    https://github.com/ifedorenko/com.ifedorenko.m2e.sourcelookup

  3. 使用run-jetty-run Maven插件

    http://code.google.com/p/run-jetty-run/

我更喜欢并推荐3.它比jetty工作和启动webapp要快得多:运行。

不幸的是2.没有帮助我,因为它有带空格的Windows路径的问题。

我已经在Eclipse Bugzilla上填写了一个增强请求,如果你同意这个问题“Source not found”应该永远消失,请在这里投票:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=384065

您是否拥有正在使用的文件的来源。 如果您使用Maven(M2Eclipse),您可以下载源代码。 这可能会解决问题。 在此处输入图像描述

否则,您可以手动附加您的来源。 以下是手动附加源的方法。

获取图书馆路径

接下来你必须附上资料来源 –

附加来源

希望这可以帮助

“找不到源”是一个红色的鲱鱼 – 可能根本无法访问抛出错误的源,因为它深入调试器的类加载器。

那么,更好的问题是,“为什么没有找到scottrice.ChessPuzzles.ChessPuzzleDriver ?” 目前发生在我身上的唯一可能性是调试配置中可能有些奇怪。 您是通过右键单击带有main()并选择“Debug As” – >“Java Application”的文件来调试程序的吗?