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

时间:2011-05-24 08:56:20

标签: 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变量下定义)正确指向maven存储库
  • 上面信息中的路径和文件名是正确的,文件存在
  • YYY.java有第XXX行,实际上它是日志消息的来源

在这个微不足道的任务中,有什么可能使日食错误? 可能设置了哪些其他配置错误?

3 个答案:

答案 0 :(得分:3)

按Ctrl + Shift + R并输入YYY.java。 Eclipse然后会告诉你它可以看到哪个YYY.java。有可能它会看到比您预期的更多或其他源文件。

maven错误消息表示缺少M2_REPO\org\apache\...\some-version-sources.jar此文件必须与some-version.jar在同一目录中,以便Eclipse将源附加到二进制JAR。

如果您有源,请将其复制到那里。如果您没有它们,Eclipse可能会为您下载它们。打开项目的上下文菜单 - > Maven - >下载来源...等待......

答案 1 :(得分:0)

我刚刚经历过同样的问题。我正在使用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->编译器

来检查

enter image description here

答案 2 :(得分:0)

只需恢复 java编译器设置为默认卸载Eclipse中的任何反编译器问题解决了