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

Eclipse:XXX在YYY中不是有效的行号,eclipse,installation,Eclipse,Installation,在调试大型项目时,我使用日志打印输出中的链接直接跳转到相关文件和行。唉,在许多情况下,我会弹出以下窗口: 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 Var

在调试大型项目时,我使用日志打印输出中的链接直接跳转到相关文件和行。唉,在许多情况下,我会弹出以下窗口:

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 Variables下定义)正确地指向maven存储库
  • 上面消息中的路径和文件名正确,文件存在
  • java有第XXX行,它确实是日志消息的源
在这个琐碎的任务中,eclipse可能会犯什么错误?

其他哪些配置可能设置错误?

按Ctrl+Shift+R并输入
YYY.java
。Eclipse将告诉您它可以看到哪个
YYY.java
。很可能它看到的源文件比您预期的多

如果只有一个文件,请确保其版本正确。也许Eclipse将一个新的字节码JAR与一个旧的源JAR混合在一起

maven错误消息意味着它缺少
M2\u 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中删除我没有参与的项目

希望这能帮助下一个遇到这个问题的人

此外,确保编译器生成行号也很重要(这是默认行为,因此可能不是问题的根源)。这可以通过选择窗口->首选项->java->编译器来检查


只需将java编译器设置恢复为默认设置,然后在Eclipse中卸载任何反编译器加载项,问题就解决了

我不知道怎么解决的,但我什么也没做就解决了问题(也许我刷新了工作区)。我给你的答案是因为它提供了洞察并澄清了问题的答案,帮助了我,我得到了Eclipse在不存在的断点上停止的奇怪行为,然后最终我开始在标题中出现错误,我做了CTRL+SHIFT+R,它根据直觉显示了两个同名的类,我重命名了第二个类,断点开始正常工作!