2013-04-22 2 views
0

내 콘솔에서 다음 오류로 Spring 3.2 MVC 응용 프로그램을 시작할 때 HTTP 500 오류가 발생합니다. Tomcat 7.0.29를 사용하고 있습니다.Spring 3 MVC - HTTP 500 오류, NoClassDefFoundException

SEVERE: Servlet.service() for servlet [ghs1986] in context with path [/ghs1986] threw exception [java.lang.NoClassDefFoundError: org/apache/tomcat/util/scan/JarFactory] with root cause 
java.lang.ClassNotFoundException: org.apache.tomcat.util.scan.JarFactory 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) 
    at org.apache.jasper.compiler.TldLocationsCache.tldScanJar(TldLocationsCache.java:413) 
    at org.apache.jasper.compiler.TldLocationsCache.access$100(TldLocationsCache.java:78) 
    at org.apache.jasper.compiler.TldLocationsCache$TldJarScannerCallback.scan(TldLocationsCache.java:240) 
    at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:234) 
    at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:159) 
    at org.apache.jasper.compiler.TldLocationsCache.init(TldLocationsCache.java:224) 
    at org.apache.jasper.compiler.TldLocationsCache.getLocation(TldLocationsCache.java:184) 
    at org.apache.jasper.JspCompilationContext.getTldLocation(JspCompilationContext.java:607) 
    at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:409) 
    at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475) 
    at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1427) 
    at org.apache.jasper.compiler.Parser.parse(Parser.java:138) 
    at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242) 
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102) 
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) 
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684) 
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471) 
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402) 
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329) 
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262) 
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1265) 
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1016) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:965) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:859) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:883) 
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:781) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

나는 ghs1986-servlet.xml 파일 나는 또한 내 컨트롤러에서이 매핑이

<mvc:view-controller path="/" view-name="home" /> 

에서이 매핑을해야합니까. 모두 내 클래스 경로 및 WEB-INF/lib 디렉토리에 바람둥이-util.jar를 추가하여 해결

@RequestMapping(value = {"/", "home"}) 
public String home() { 
    return "home"; 
} 
+1

스프링 오류가 발생할 수 있다고 생각하지 않습니다. Tomcat에 문제가있는 것 같습니다. 항아리가없는 이중 항아리에 대한 classpath를 확인 했습니까? 이것 좀보세요 : http://stackoverflow.com/questions/4446050/noclassdeffounderror-in-websphere-jars-are-present –

답변

1

문제. tomcat-util.jar에는 org.apache.tomcat.util.scan.JarFactory가 있습니다.