为什么在eclipse中按F5调试进不到方法中

为什么在eclipse中按F5调试进不到方法中

2013-10-19 20:16 凌霜梅花  |  浏览 608 次

为什么调试的时候按F5进不到红框的方法中? 执行到红框的那行时直接出现source not found,有java源文件

2013-10-19 20:45 提问者采纳
1
因为这一块儿调用的是第三方jar包,而你没有引入第三方jar的源码,所以会出现source not found。 你可以下载对应jar的源码,然后跟jar包关联上,再调试的时候就可以了。
追问:
不是这个问题,我这里出现编译错误是因为我修改了代码,在没有出现编译错误时可以正常运行项目,然后调试,进不到方法体中,方法体的代码是自己写的,方法体所在的类继承了jar包提供的类。
追答:
1
出现编译错误时,运行时用的 class 是在上一次编译通过的代码,而当前代码跟运行时的代码不一致,当然也会出现找不到源码的问题。
追问:
我是在正常的情况下执行的,跟编译错误无关。我执行的时候没有任何错误,项目正常。编译错误只是我在截图时修改代码出现的,调试时之前的事情。
追答:
1
2
3
F5 不是要进入到方法里面然后逐步跟踪的么? 而
 
HttpSession session = messageContext.getHttpServletRequest().getSession(); 这行代码中调用的内容是第三方Jar中的,没有源码,你按f5自然跟踪不进去了。
追问:
getSession这个方法是自己写的一个类的方法,不是第三发jar包中的类。写的这个类只是继承了jar包中的一个类。我都说了,这个方法是自己写的代码。
追答:
先是调用messageContext的getHttpServletRequest()来获取HttpServletRequest对象的。

然后再调用HttpServletRequest对象中的getSession这个方法来获取Session。

其中getHttpServletRequest是你自己实现的?

还是HttpServletRequest也是用的你自己实现的?
追问:
messageContext.getHttpServletRequest()获取的类是自己写的,获取的是DefautHttpServletRequest,这个类是自己写的
追答:
1
你在getHttpServletRequest方法中加断点试试呢?
追问:
我现在试不了。需要周一去公司才行,谢谢了
提问者评价
谢谢!
评论(1)  |  3  0
2013-10-29 21:37 凌霜梅花
谢谢! 回复
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个问题通常是由于以下原因引起的: 1. 没有在类定义main方法。 2. main方法的签名不正确,应该是public static void main(String[] args)。 3. 类名与文件名不一致,导致编译器无法找到正确的类。 4. 编译器没有正确设置类路径,导致无法找到类。 解决方法: 1. 确保在类定义了main方法,并且签名正确。 2. 检查类名与文件名是否一致。 3. 确保编译器正确设置了类路径。 如果以上方法都无法解决问题,可以尝试重新安装eclipse或者使用其他IDE。 ### 回答2: 当我们在Eclipse创建一个Java项目,并且想要运行该项目时,编译器会在所有的类寻找一个特殊的方法来作为程序的入口点,即`main`方法。 如果在一个类不到`main`方法,意味着编译器无法确定哪个类应该被作为程序的起点。这种情况通常会导致编译错误或运行时错误。 造成找不到`main`方法的原因可能有以下几种: 1. 忘记在类定义`main`方法:每个作为程序入口的类都应该有一个`public static void main(String[] args)`方法。请确保你在类正确定义了该方法。 2. `main`方法的签名不正确:请检查`main`方法的参数列表是否正确。它应该接受一个`String`类型的数组作为参数,并且返回类型为`void`。 3. `main`方法的修饰符不正确:请确保`main`方法被声明为`public`和`static`。这是因为`main`方法是被JVM调用的,需要是静态方法以便可以在没有实例的情况下调用。 4. `main`方法的写法有误:请确保`main`方法的括号、大括号和分号等符号使用正确。 5. `main`方法存在于错误的类:请确保`main`方法存在于你希望作为程序入口的类。 解决这个问题的方法就是确保你的代码具有一个正确的、完整的`main`方法,并且它的签名、修饰符和位置都是正确的。这样,你将能够在Eclipse找到并运行你的程序。如果问题仍然存在,可能是由于其他配置问题或编译错误导致,你可以尝试重新构建项目或查看Eclipse的错误日志来获取更多信息。 ### 回答3: 在Eclipse不到main方法通常是由以下几个原因造成的: 1. 未正确命名或定位main方法:在Java程序,main方法是程序的入口,它的命名和定位非常重要。请确保在正确的类,main方法的命名为"main",不带任何参数,并且使用了正确的程序入口修饰符(public static void)。如果不符合这些要求,Eclipse会提示找不到main方法。 2. 未正确配置运行环境:如果你的项目是一个Java项目,需要确保已经正确配置了运行环境。在Eclipse,可以通过右键单击项目,选择"Properties",入"Java Build Path"或者"Run/Debug Settings"页面,检查是否配置了正确的JDK和运行类。 3. 类未保存或编译错误:如果你在修改代码后没有保存文件,或者存在编译错误,Eclipse在执行运行命令时就会提示找不到main方法。请确保在运行之前,所有的类文件都已经保存,并且没有编译错误。 4. 项目设置错误:有时候,特别是当你使用多个源代码文件组成一个项目时,可能会存在项目设置错误。请在Eclipse的项目设置,检查你的源代码是否正确地包含在项目,并且没有被排除在编译范围之外。 总之,如果在Eclipse不到main方法,需要检查以上几个方面的问题,并行逐一排查和修正。如果问题依然存在,请确保你的项目和Eclipse本身都处于正常的状态,并尝试重新创建一个示例项目来测试是否存在其他问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值