【问题标题】:Java Debugging: Source not foundJava 调试:找不到源
【发布时间】:2012-03-17 12:20:11
【问题描述】:

我在使用 Eclipse 时遇到问题,我可以正常运行我的程序,但是当我尝试启动调试器时,我收到了这条消息

图片有点难以辨认,但不是正常的调试窗口,而是说它正在抛出 ClassNotFoundException,并试图显示 Launcher$ExtClassLoader 的源代码。

真正让我困惑的是我可以很好地运行代码,只有当我单击调试按钮时才会出现问题。

我也试过用JDB在命令行调试,还是一样的错误。

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

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

【问题讨论】:

    标签: java eclipse macos debugging


    【解决方案1】:

    对于动态加载的代码(例如 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。它运行和启动 webapp 比 jetty:run 快得多。

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

    我在 Eclipse Bugzilla 上填写了增强请求,如果您同意“找不到源”这个问题应该永远消失,请在这里投票:

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

    【讨论】:

    【解决方案2】:

    “找不到源”是一条红鲱鱼 - 可能根本无法访问引发错误的源,因为它在调试器的类加载器的内部深处。

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

    【讨论】:

    • 我使用了顶部的按钮,虽然我只是尝试了你描述的方法,但我遇到了同样的问题。我应该在调试配置中寻找什么?
    • 我真的不确定。我会首先尝试删除调试配置并再次启动文件以创建一个新配置。如果这不起作用,我会检查 JRE 和 Classpath 选项卡并确保一切看起来都是默认的。您也可以尝试切换到另一个 Java 版本,看看会发生什么。
    【解决方案3】:

    您有正在使用的文件的来源吗?如果您使用的是 Maven (M2Eclipse),您可以下载源代码。这可能会解决问题。

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

    接下来你必须附上来源-

    希望对你有帮助

    【讨论】:

    • 我没有在我的项目中使用 Maven,我是否需要使用 Maven 才能使用这个插件,或者我可以下载插件然后下载源代码吗?另外,我将如何手动附加源?
    猜你喜欢
    • 2011-09-04
    • 2023-03-11
    • 2014-01-15
    • 2010-12-29
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多