복붙노트

[SPRING] Tomcat 5.5에서 web-app를 배포 할 때 listenerStart 오류를 해결하는 방법은 무엇입니까?

SPRING

Tomcat 5.5에서 web-app를 배포 할 때 listenerStart 오류를 해결하는 방법은 무엇입니까?

Spring과 Hibernate를 Tomcat 5.5 인스턴스에 사용하는 Apache Wicket 웹 애플리케이션을 배치했다. Tomcat Manager 인터페이스로 이동하면 배포 한 웹 응용 프로그램이 실행되고 있지 않음을 알 수 있습니다. '시작'을 누르면 다음과 같은 오류 메시지가 나타납니다. "FAIL - 컨텍스트 경로 / 스파게티에서 응용 프로그램을 시작할 수 없습니다".

내 catalina.log는 다음을 포함합니다 :

Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile  
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/jsp-api-6.0.16.jar)   - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/jsp/JspPage.class  
Apr 15, 2010 1:51:22 AM org.apache.catalina.loader.WebappClassLoader validateJarFile  
INFO: validateJarFile(/var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/servlet-api-6.0.16.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class  
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start  
SEVERE: Error listenerStart  
Apr 15, 2010 1:51:24 AM org.apache.catalina.core.StandardContext start  
SEVERE: Context [/spaghetti] startup failed due to previous errors

web.xml에서 발췌 :

    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

어떤 도움이라도 대단히 감사합니다.

해결법

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

    1.

    /var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/jsp-api-6.0.16.jar
    /var/lib/tomcat5.5/webapps/spaghetti/WEB-INF/lib/servlet-api-6.0.16.jar
    

    / WEB-INF / lib에 서버 특정 라이브러리가 없어야합니다. 응용 프로그램 자체의 라이브러리에 두십시오. 클래스 패스에서의 충돌로 이어질 것입니다. / WEB-INF / lib (및 JRE / lib 및 JRE / lib / ext에있는 모든 응용 프로그램 특정 라이브러리를 제거하십시오.)

    웹 서버의 라이브러리에 appserver 관련 라이브러리가 포함되어있는 일반적인 이유는 개발자가 해석 할 수없는 javax.servlet 클래스의 컴파일 오류를 수정하는 것이 올바른 방법이라고 생각하기 때문입니다. webapp의 라이브러리에 넣는 것은 잘못된 해결책입니다. javac -cp /path/to/server/lib/servlet.jar 등의 컴파일 과정에서 클래스 경로를 참조해야합니다. IDE를 사용하는 경우 IDE에서 서버를 통합하고 서버와 웹 프로젝트. 그런 다음 IDE는 webapp 프로젝트의 클래스 경로 (buildpath)에서 서버 별 라이브러리를 자동으로 가져옵니다.

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

    2.나는이 지침에 따라 문제가 무엇인지 발견하는 것을 도왔다. 나를 위해, 그것은 살인범이었고, 무엇이 망가 졌는지 알지 못했습니다.

    나는이 지침에 따라 문제가 무엇인지 발견하는 것을 도왔다. 나를 위해, 그것은 살인범이었고, 무엇이 망가 졌는지 알지 못했습니다.

    http://mythinkpond.wordpress.com/2011/07/01/tomcat-6-infamous-severe-error-listenerstart-message-how-to-debug-this-error/

    링크에서 인용

    org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
    org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler
    
  3. ==============================

    3.내가 컴파일 할 때 JDK가 tomcat JVM과 다를 때이 오류가 발생했습니다. Tomcat 관리자가 jvm 1.6.0을 실행 중이지만 Java 1.7.0에서 컴파일 된 것을 확인했습니다.

    내가 컴파일 할 때 JDK가 tomcat JVM과 다를 때이 오류가 발생했습니다. Tomcat 관리자가 jvm 1.6.0을 실행 중이지만 Java 1.7.0에서 컴파일 된 것을 확인했습니다.

    Java를 업그레이드하고 시작 스크립트 (/etc/init.d/tomcat)에서 JAVA_HOME을 변경하면 오류가 사라집니다.

  4. ==============================

    4.Tom Saleeba가 제공하는 답변은 매우 유용합니다. 오늘 나는 또한 같은 오류로 고투했다.

    Tom Saleeba가 제공하는 답변은 매우 유용합니다. 오늘 나는 또한 같은 오류로 고투했다.

    나는 제안을 따라하고 logging.properties 파일을 추가했다. 그리고 실패의 이유는 다음과 같습니다.

    문제의 근본 원인은 web.xml에 추가 한 리스너 (Log4jConfigListener)입니다. SEVERE : 예외 org.springframework.web.util.Log4jConfigListener 링크에 따라이 리스너는 확장되지 않은 WAR 내에 추가 될 수 없습니다.

    OpenShift JBoss 장비에서 이러한 일이 발생했다는 사실을 누군가가 알면 도움이 될 수 있습니다.

  5. from https://stackoverflow.com/questions/2641338/how-to-resolve-error-listenerstart-when-deploying-web-app-in-tomcat-5-5 by cc-by-sa and MIT license