복붙노트

[SPRING] java.lang.NoSuchFieldError : APPLICATION_CONTEXT_ID_PREFIX

SPRING

java.lang.NoSuchFieldError : APPLICATION_CONTEXT_ID_PREFIX

내 프로젝트를 실행할 때이 오류가 발생하며 결과는 궁극적으로 404입니다. 이 프로젝트는 Spring 프레임 워크에서 만들어진다.

나는 많은 게시물을 읽고 항아리 나 여분의 항아리가 섞여있는 것을 발견했다. 그 다음 나는 단지를 조직하려고 노력했다. 다음 목록은 내 빌드 경로에있는 것입니다.

antlr-2.7.6.jar  
asm.jar  
asm-attrs.jar  
cglib-2.2.jar  
commons-beanutils-1.7.0.jar  
commons-collections-3.1.jar  
commons-digester-1.8.jar  
commons-email-1.0.jar  
commons-fileupload-1.1.1.jar  
commons-io-1.2.jar  
commons-lang-2.5.jar  
commons-logging-1.1.1.jar  
displaytag-1.0-b3.jar  
dom4j-1.6.1.jar  
ehcache-1.1.jar  
hibernate3.jar  
hibernate-jpa-2.0-api-1.0.0.Final.jar  
hibernate-validator-4.0.2.GA.jar  
hsqldb.jar  
itext-2.1.3.jar  
javassist-3.12.0.GA.jar  
jdom.jar  
jstl-1.2.jar  
jta-1.1.jar  
log4j-1.2.14.jar  
msbase.jar  
mssqlserver4v65.jar  
msutil.jar  
mysql.jar  
mysql-connector-java-5.1.15-bin.jar  
ojdbc14.jar  
persistence-api-1.0.jar  
poi-3.0-alpha2.jar  
servlet-2.3.jar  
slf4j-api-1.6.6.jar  
slf4j-log4j12-1.5.6.jar  
slf4j-simple-1.6.6.jar  
spring-asm-3.0.3.RELEASE.jar  
spring-beans-3.0.3.RELEASE.jar  
spring-context-3.0.3.RELEASE.jar  
spring-core-3.0.3.RELEASE.jar  
spring-expression-3.0.3.RELEASE.jar  
spring-hibernate3-2.0.8.jar  
spring-web-3.0.3.RELEASE.jar  
spring-webmvc-3.0.3.RELEASE.jar  
sqljdbc4.jar  
standard.jar  
tree.jar  
validation-api-1.0.0.GA.jar  
wloracle.jar  
wlsqlserver.jar  

여기 스택 트레이스가있다.

SEVERE: Error loading WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@ca2dce
org.springframework.web.servlet.DispatcherServlet
java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1083)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4364)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:315)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:148)
    at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:420)
    at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483)
    at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1433)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:133)
    at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:216)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:153)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:294)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:281)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)

제 생각에는 많은 항아리가 삭제되었습니다. 반복적입니다. 내 질문은이 모든 항아리가 정확히 충분하거나 중복되는지 여부입니다. 제발,이 404가 날 죽이는거야.

해결법

  1. ==============================

    1.거기에 복제 된 항아리가 많이 있습니다.

    거기에 복제 된 항아리가 많이 있습니다.

    antlr
    jta
    mysql-connector
    javassist
    mssqlserver
    

    나는 계속하기 전에 각자 하나만 가지고 있는지 확인하고 필요한 버전을 찾아서 포함시켜야합니다.

    이 작업을 수행하는 방법을 모르는 경우 종속성을 가져 오는 방법을 알려주십시오.

    또한보고있는 스택 추적과 오류를 유발하는 단순화 된 스프링 컨텍스트를 보는 것도 도움이됩니다.

    이 질문을 보는 경우 : JasperException : 절대 URI : http://java.sun.com/jsp/jstl/core를 확인할 수 없습니다.

    JSTL의 올바른 버전을 가지고 있는지 확인해야합니다. 복제 된 JSTL을 제거하면 오류가 수정 될 수 있습니다.

  2. ==============================

    2.내 생각 엔 spring.jar 및 spring-1.2.6.jar을 삭제하는 것입니다. 그들은 봄 * 3.0.3.RELEASE.jars와 충돌합니다.

    내 생각 엔 spring.jar 및 spring-1.2.6.jar을 삭제하는 것입니다. 그들은 봄 * 3.0.3.RELEASE.jars와 충돌합니다.

    그리고 내 두 센트는 스프링 프레임 워크로 작업 할 때 maven을 사용할 것입니다.

  3. from https://stackoverflow.com/questions/14338839/java-lang-nosuchfielderror-application-context-id-prefix by cc-by-sa and MIT license