我知道有几个人问过与这个问题非常相似的问题,但我真的需要帮助来找到针对我的特殊情况的解决方案。
请在发布答案之前阅读并理解此问题:)
我正在使用 Eclipse(朱诺号和开普勒号) JDK 1.7 Tomcat 7 Sysdeo Tomcat 插件
在一个特定项目中(其他项目也可以),会发生以下情况:
- 我设置了一个断点
- 启动Tomcat
- 执行到那时
我收到一条消息:“由于缺少行号属性,无法在 com.foo.bar.Main.class 上安装断点”原因:缺少行号信息
问题是,如果它不能安装断点 - 为什么它恰好在我设置断点的代码中停止?此外,它说行号信息丢失,但我已经验证了所有编译器选项,甚至使用 javap
来确认行号信息在编译的主类文件中。
注意:
- 我没有使用 Ant 来构建
- 我在 Eclipse 中使用 1.7 JDK(不是 JRE)
欢迎任何指导或建议。
编辑:
嗯.. 可能很重要的进一步信息。我正在使用 Spring,而 Eclipse 告诉我的实际类没有行号信息实际上是以下形式:'Main$$EnhancerByCGLIB$$87eae52c' 难道预编译层生成的类没有行号?
最佳答案
也许您在 Eclipse 类路径中的类文件与您在 Tomcat webapp 文件夹中的类文件不匹配。有不同步的。 你可以尝试重新部署新建的war文件。
关于java - 带 Tomcat 的 Eclipse $$EnhancerByCGLIB$$ 'Unable to install breakpoint',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25195694/