处理异常:org.eclipse.jdt.internal.compiler.CompilationResult.getProblems ()

纵饮孤独 提交于 2020-01-07 07:39:57

【推荐】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>

还是不行,学长只能帮你到这了。。。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!