Spring Boot 에 java. lang. NoClassDefFoundation 오류 가 발생 했 습 니 다. org / apache / tomcat / util / security / Escape 오류

12628 단어 SpringBoot
Spring Boot 가 JSp 를 통합 하 는 과정 에서 컴 파일 은 다음 과 같은 오 류 를 보 여 줍 니 다.
2018-03-15 22:04:45.166 ERROR 7240 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [java.lang.NoClassDefFoundError: org/apache/tomcat/util/security/Escape] with root cause

java.lang.ClassNotFoundException: org.apache.tomcat.util.security.Escape
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_111]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_111]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_111]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_111]
    at org.apache.jasper.compiler.JspUtil.getExprInXml(JspUtil.java:85) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.PageDataImpl$SecondPassVisitor.printAttributes(PageDataImpl.java:736) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.PageDataImpl$SecondPassVisitor.appendTag(PageDataImpl.java:470) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.PageDataImpl$SecondPassVisitor.appendTag(PageDataImpl.java:454) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.PageDataImpl$SecondPassVisitor.visit(PageDataImpl.java:266) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:470) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2389) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.PageDataImpl.(PageDataImpl.java:79) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1862) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:224) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:385) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:346) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) ~[tomcat-embed-jasper-9.0.6.jar:9.0.6]

검사 결과 tomcat - embed - jasper 의존 은 실행 시 의존 으로 만 설정 되 어 build. gradle 파일 을 의존 하 는 것 으로 나 타 났 습 니 다.
compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: '9.0.6'

으로 변경
runtime ("org.apache.tomcat.embed:tomcat-embed-jasper")

좋은 웹페이지 즐겨찾기