一.报错
二.排查
1.首先检查代码是否有问题
本人报错是找不到监听器,故检查监听器的代码和web.xml文件是否有问题
public class DoorListener implements ServletContextListener 监听器是否继承并实现ServletContextListener中的方法。
web.xml中:<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>com.foxconn.door.socket.DoorListener</listener-class>
</listener>
经过检查代码无问题。
2.检查配置
2.1 监听器的类是否放置在源代码目录下(java项目即src目录下),并build path也配置正确。可以看见我的编译文件最后会被放到build/classes目录下。
2.2 发现问题,classes文件下没有编译的文件;打开Navigator看classes里面没有编译文件(就算有编译文件也可能有问题,因为本人git上拉取代码后同时也把编译文件一并拉取下来了,所以判断是否是这问题,你需要先clean,然后在build。如果build后没有编译文件可以尝试一下解决方法。)
三. 解决问题
1.先clean掉原来编译的文件,然后点Build Automatically去编译一下代码(建议可以多点几次,确保是否真的无法编译生成编译文件)
2.打开Navigator看classes里面没有编译文件
- 如果没有编译文件,使用这一招:project->clean->选第二个clean select project,勾上start build immediatelly.
4.上面没有检查编译路径的检查一下编译路径。
5.如果项目中引入了某个不用的jar包,而那个包又被你删除了,就会出现不报错但怎么也编译不出来class文件的情况。可以把包全删了,然后重新配置。(建议一个一个引用,使用的就引用,没有使用就不引用。可以批量来也可能解决问题(本人嫌麻烦删了批量引用的)。)
把Libraries里面的东西全remove了,然后再重新Add,会有意想不到的效果。
6.再尝试一下是否可以build.