在eclipse中调试java应用程序时,我收到两个"Source not found"错误:

  • 进入另一个项目中已导入的文件
  • 进入已安装的maven存储库中的文件

文件在那里,但eclipse不会进入它们,而是显示一个"attach source"按钮

我try 附加(打开了一个对话框来定义变量?!)eclipse确实跳转到该文件,但调试器无法判断其中的任何变量.此外,手动附加每个依赖项的源代码并不实用,因为在我的例子中,有数千个依赖项文件.

我是eclipse\java岁的新手,所以解释一下为什么会发生这种情况+如何解决这个问题会有很大帮助!

推荐答案

Eclipse调试通过程序与类actually loaded一起工作.

您描述的症状听起来像是在项目中找不到有问题的类,而是在没有调试信息的分发JAR中找到before您正在处理的项目.

出现这种情况的原因有很多,但请查看显示这种行为的类所在的位置(查看导航窗格以识别它).您很可能需要更改项目的构建路径,以避免使用这个jar,并让JVM使用该项目.

编辑:请注意,从2018年开始,通常使用像Maven这样的构建框架,其中构建路径由M2E插件管理,因此这个问题应该比提出问题时要少得多.如果您使用Maven和M2E,请确保启用首选项/Maven/"下载工件源文件",或者右键单击项目Maven/"Download Sources".

Java相关问答推荐

使用SaxonJ HE在收件箱中摆脱regex

在Java中使用带限制的回归打印星形三角形

如果您仅同步写操作,Java布尔线程是否安全

我们如何直接使用kerminldap服务票证来通过ldap进行身份验证并形成LDAP上下文

为什么我的画布没有显示在PFA应用程序中?

我的scala文件失败了Scala.g4 ANTLR语法

如何粘合(合并)文件Lucene?

缩小画布比例后更改滚动窗格的内部大小

使用@MappdSuperClass扩展ParentClass&Won t继承ParentClass属性

在bash中将数组作为Java程序的参数传递

按属性值从流中筛选出重复项

从ActiveMQ Classic迁移到ActiveMQ Artemis需要进行哪些客户端更改?

如何仅使用键/ID的一部分(组合)高效地返回映射值?

解析方法";javax/imageio/metadata/IIOMetadata.getAsTree(Ljava/lang/String;)Lorg/w3c/dom/Node时加载约束冲突

来自外部模块的方面(对于Java+Gradle项目)不起作用

为什么在下面的Java泛型方法中没有类型限制?

AbstractList保证溢出到其他方法

为什么mvn编译生命周期阶段不只是编译已更改的java文件?

[Guice/MissingImplementation]:未绑定任何实现

URI构造函数错误?