2012-02-28 210 views
18

我有Eclipse的一个问题,我可以运行我的程序就好了,但是当我尝试启动调试器,我得到这个消息Java调试:未找到源

Eclipse Window showing error

的画面有点难以理解,但它并没有得到正常的调试窗口,而是说它抛出了ClassNotFoundException,并试图展示Launcher $ ExtClassLoader的源代码。

虽然我真的很困惑,但是我可以运行代码就好,只有当我点击调试按钮时,我才有问题。

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

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

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

回答

7

您是否拥有您正在使用的文件的来源。如果你正在使用Maven(M2Eclipse),你可以下载源代码。这可能会解决问题。 enter image description here

否则,你可以去手动附加你的来源。以下是您如何手动附加来源。

Getting the library paths

接下来,您必须附加来源 -

Attaching sources

希望这有助于

+0

我项目,我是否需要使用Maven来使用这个插件,或者我可以下载插件然后下载源代码? 另外,我将如何去手动附加源代码? – 2012-02-28 01:47:36

+0

等待我将更新答案 – Chan 2012-02-28 01:50:26

0

“未找到源”的是一个红色的鲱鱼 - 有可能仅仅是没办法来访问引发错误的源代码,因为它深深地影响了调试器的类加载器。

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

+0

我使用了顶部的按钮,尽管我只是尝试了您描述的方法,并且遇到了同样的问题。我应该在我的调试配置中寻找什么? – 2012-02-28 02:33:26

+0

我真的不确定。我会首先尝试删除调试配置并重新启动文件以创建一个新的文件。如果这样做不起作用,我会检查JRE和Classpath选项卡,并确保一切看起来默认。你也可以尝试切换到另一个Java版本,看看会发生什么。 – 2012-02-28 04:02:32

44

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

已知有对我三种解决方法(在搜索个月):

  1. 连接与调试运行的JVM,你会看到代码。

  2. 使用动态源查找的Eclipse插件从这里:

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

  3. 使用运行码头运行Maven插件

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

我喜欢并推荐3它运行并启动webapp比jetty快得多:运行。

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

我已经在Eclipse中的Bugzilla填补了一个扩展请求,如果你同意这个问题“源未找到”应该永远消失,请在这里为它投票:

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

我不使用Maven为
+1

解决方案#2非常简单,运作良好。 – 2016-01-15 16:18:03

+0

与checkstyle-eclipse不兼容。 – 2017-04-04 09:20:30

+1

第三个选项真的有帮助 – 2017-04-25 08:46:38