3 回答
TA贡献1943条经验 获得超7个赞
我在Eclipse 3.4.1中有相同的错误消息,SUN JVM1.6.0_07已连接到Tomcat 6.0(在另一台计算机Sun JVM1.6.0_16上以调试模式运行,调试连接确实可以正常工作)。
窗口->首选项-> Java->编译器->类文件生成:已检查“将行号属性添加到生成的类文件”。我做了干净的重新编译。我没有取消选中它,重新编译,选中它,重新编译。我确保项目确实使用了全局设置。还是一样的消息。
我切换到ant build,使用
<javac srcdir="./src/java" destdir="./bin" debug="true">
还是一样。
我没有找到导致此消息的原因以及为什么它不会消失。尽管这似乎与正在运行的Tomcat调试会话有关:断开连接后,重新编译可以解决此问题。但是在将调试器连接到Tomcat或在连接的调试会话期间设置新的断点时,它再次出现。
但是,事实证明消息是错误的:在调试之前和调试期间,我确实能够调试和设置断点(javap -l也显示了行号)。所以就忽略它:)
TA贡献1831条经验 获得超10个赞
在eclipse菜单中,转到Window-> Preferences-> Java-> Compiler
取消标记复选框“添加行号属性...”
单击应用->是
标记复选框“添加行号属性...”
再次申请。
去调试吧
TA贡献1752条经验 获得超4个赞
对于与Spring相关的问题,请考虑在某些情况下会生成“无行号”的类。例如@Service没有接口的带注释的类,添加接口即可进行调试。请参阅此处以获取完整示例。
@Service("SkillService")
public class TestServiceWithoutInterface {
public void doSomething() {
System.out.println("Hello TestServiceWithoutInterface");
}
}
上面的服务将有一个由spring生成的接口,导致“缺少行号”。添加一个真实的接口可以解决生成问题:
public interface TestService {
void doSomething();
}
@Service("SkillService")
public class TestServiceImpl implements TestService {
public void doSomething() {
System.out.println("Hello TestServiceImpl");
}
}
- 3 回答
- 0 关注
- 1830 浏览
添加回答
举报