Eclipse java调试:找不到源代码
在eclipse中调试java应用程序时,我收到两种情况下的“未找到源代码”错误:Eclipse java调试:找不到源代码,java,eclipse,debugging,Java,Eclipse,Debugging,在eclipse中调试java应用程序时,我收到两种情况下的“未找到源代码”错误: 在已导入的其他项目中,单步进入文件 进入已安装maven存储库中的文件 文件就在那里,但eclipse不会进入它们,而是显示一个按钮“附加源文件” 我尝试附加(打开了一个对话框来定义一个变量),eclipse确实跳转到该文件,但调试器无法检查那里的任何变量。另外,手动附加每个依赖项的源代码是不实际的,因为在我的例子中有数千个依赖项文件 我是eclipse\java新手,所以解释一下为什么会发生这种情况以及如何
- 在已导入的其他项目中,单步进入文件
- 进入已安装maven存储库中的文件
我是eclipse\java新手,所以解释一下为什么会发生这种情况以及如何解决这一问题将非常有帮助 显然,Eclipse不会自动知道依赖JAR的源代码在哪里。不清楚为什么调试器在附加源后无法检查变量。一种可能是来源不正确/不兼容
假设您有一个maven项目,并且依赖项的源代码已下载并在本地存储库中可用,您可能希望安装maven eclipse插件,看看这是否有助于解决您的问题。eclipse调试与程序实际加载的类一起工作 您描述的症状听起来像是在项目中找不到有问题的类,而是在您正在处理的项目之前没有找到调试信息的分发jar中 出现这种情况的原因有很多,但请查看显示此行为的类所在的位置(查看导航窗格以识别它)。您很可能需要更改项目的构建路径,以避免使用此jar,并让JVM使用该项目
编辑:请注意,从2018年开始,使用Maven这样的构建框架是很常见的,其中构建路径由m2e插件管理,因此这个问题的发生频率应该比提问时要低。如果您使用Maven和m2e,请确保启用Preferences/Maven/“Download Artifact Sources”或右键单击项目Maven/“Download Sources”。症状完美地描述了找到的类没有关联(或分配)源的情况
- 您可以在首选项>Java>安装的JRE中关联JDK类的源代码。如果JRE(不是JDK)被检测为要使用的默认JRE,那么您的JDK类将没有附加的源代码。请注意,并非所有JDK类都提供了源代码,其中一些仅以二进制形式分发
- 从项目的生成路径手动添加的类需要手动附加关联的源。源代码可以驻留在zip或jar文件、工作区或文件系统中。Eclipse将扫描zip文件,因此您的源文件不必位于归档文件的根目录中
- 类,来自其他插件(maven、PDE等)的依赖项。在这种情况下,如何提供源代码取决于插件。
- PDE将要求每个插件都有相应的XXX.source包,其中包含插件的源代码。更多的信息可以找到和查询
- m2eclipse可以获取Maven依赖项的源代码和Javadoc(如果可用)。应该在Eclipse首选项中启用此功能(该选项的名称类似于“下载源代码和javadocs”)
- 对于其他插件,您需要查阅它们的文档
- 从项目中加载的类将自动与项目中的源匹配
它有时也会显示执行的是空空间。这意味着源代码与类的运行时版本不匹配。即使您认为这不可能,但确实如此,因此请确保您设置了正确的源代码。或者您的运行时与最新更改相匹配,这取决于您尝试执行的操作。我也有相同的p问题。在我的例子中,我禁用了窗口首选项Java调试[在未捕获异常时暂停执行]。然后,控制台向我显示了正确的错误:我的MySql用户没有访问数据库的权限。您可能有依赖项accessi的源代码
mvn clean eclipse:eclipse