计应134(实验班) 罗超
在项目实践中,基本常常会出现大大小小的问题,有时候会困扰自己几天都无法解决,但是解决之后却是心情大好,感觉对代码瞬间亲切了许多。最近在做项目时,就出现了一个错误,简略信息为:
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
感觉就是一个包里面不存在这个方法,于是将这个错误复制到百度里面去搜索,希望尽快得到解决。
但是非常可惜的是,虽然有很多同志也遇到过一样的问题,解决方法为:
删掉struts 2中的antlr-2.7.2.jar。
但是当我照做之后,结果却不尽如人意,打开项目之后还是出现这个问题,并没有得到有效的解决,
经过一段时间的思考后,我突然想起还应该看看项目部署的位置还有没有这个文件,果不其然,在TOMCAT中的webapps下,还存在这个文件,当我把这个文件删除之后,这个问题也不复存在了。
总结一下解决这个问题的方法:
1.彻底删除struts 2中core里的antlr-2.7.2.jar;
2.检查tomcat中,webapps目录下,项目名/WEB-INF/lib目录下的文件,若有antlr-2.7.2.jar,也一并删除。
最后总结一下经验:
1.百度是解决问题很好的一个途径,百度大法好;
2.删除文件时,也要同时删除已部署位置的文件,TOMCAT并不会主动删除减少的文件。