Eclipse:XXX在YYY中不是有效的行号

问题描述

|| 在调试大型项目时,我使用日志打印输出中的链接直接跳转到相关文件和行。 las,在许多情况下,我会显示以下弹出窗口:
XXX is not a valid line number in YYY.java
在主子窗口上还有以下消息:
The JAR file M2_REPO\\org\\apache\\...\\some.jar has no source attachment.
我当然检查过: M2_REPO(在Window \\ Preferences \\ Java \\ Build Path \\ Classparth变量下定义)正确指向maven存储库 上面消息中的路径和文件名正确并且文件存在 YYY.java具有XXX行,的确是日志消息的源 在这个琐碎的任务中,有什么可能使日食失误? 还有哪些其他配置可能设置错误?     

解决方法

按Ctrl + Shift + R并输入
YYY.java
。然后Eclipse会告诉您可以看到哪个“ 2”。它可能会看到比您预期更多或其他的源文件。 如果只有一个文件,请确保它是正确的版本。也许Eclipse将新的字节码JAR与旧的源JAR混合在一起。 maven错误消息表示缺少
M2_REPO\\org\\apache\\...\\some-version-sources.jar
该文件必须与
some-version.jar
在同一目录中,Eclipse才能将源附加到二进制JAR。 如果您有来源,请在此处复制。如果您没有它们,Eclipse有可能为您下载它们。打开项目的上下文菜单-> Maven->下载源...等待...     ,我只是遇到了同样的问题。我正在使用apache tomcat调试器,并且在输出中包含以下行:
SERVER: 2015 Jul 05,13:11:58.311 (http-nio-8080-exec-4) DEBUG - (ForwardActionBean.java:41) forward
单击输出窗口中的链接给我错误“ 41不是ForwardActionBean.java中的有效行号” 问题是:我打开了两个项目,每个项目都有一个名为ForwardActionBean的类。 解决方案是:从eclipse中删除我不从事的项目。 希望这可以帮助遇到此问题的下一个人。 另外,确保编译器正在生成行号也很重要(这是默认行为,因此可能不是问题的根源)。可以通过选择window-> preferences-> java-> compiler来检查     ,只需将Java编译器设置恢复为默认值,然后在Eclipse中卸载所有反编译器插件,即可解决问题!