【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
异常信息:
java.lang.NoSuchMethodError: org.eclipspiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/IProblem;
发生场景:
maven正常编译后,由于引用jsp*.jar和servlet*.jar与tomcat下的jar文件有重叠,在build或package后,启动tomcat正常,请求访问时,页面跳转出现异常,会出现上述问题,页面无法访问。
分析处理:
删除target下lib中的jsp*.jar和servlet*.jar。如果仍有问题,则需要删除wsre目录下的web工程中lib下的两个文件。根本的解决问题,应该查找pom文件,是否需要依赖这两个jar文件。
检查maven依赖树,发现依赖中有tomcat-jsp-api和jsp-api,去掉jsp-api,设置tomcat-jsp-api为<scope>provided</scope>。同样处理tomcat-servlet-api,tomcat-jasper,清空目标,重新编译即可。
以上解决不了,添加以下jar包:
<dependency>
<groupId>tomcat</groupId>
<artifactId>jsp-api</artifactId>
<version>5.5.23</version>
</dependency>
或者删掉上面的jar包,加入以下jar包:
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler</artifactId>
<version>5.5.23</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler-jdt</artifactId>
<version>5.5.23</version>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-runtime</artifactId>
<version>5.5.23</version>
</dependency>
还是不行,学长只能帮你到这了。。。
来源:oschina
链接:https://my.oschina.net/u/2283390/blog/785682