Hudson이 tomcat5에서 시작하지 못했습니다.

Hudson이 tomcat5에서 시작하지 못했습니다.

Hudson은 Tomcat에서 Java Servlet으로 실행되는 지속적인 통합 엔진입니다. https://hudson.dev.java.net/

CentOS 5.3 시스템에 Tomcat 5.5가 성공적으로 설치되었습니다. 포트 8080에서 보고 상호작용할 수 있습니다.

성공을 보고하고 모든 것을 webapps 디렉토리에 올바르게 압축 해제한 것처럼 보이는 hudson.war 파일을 업로드할 수 있습니다.

그러나 Tomcat 웹 애플리케이션 관리자 페이지에서 허드슨 애플리케이션을 시작하려고 하면 "실패 - 컨텍스트 경로/hudson의 애플리케이션을 시작할 수 없습니다."라는 보고가 실패합니다.

밸런서, 관리자 및 기타 기본 웹앱이 올바르게 시작되는 것으로 보입니다.

SELinux가 이 시스템에서 활성화되어 과거에 몇 가지 문제를 일으켰습니다. 이 사건과 관련이 있는지 확실하지 않습니다.

Tomcat 로그는 다음과 같습니다.

8-Jul-09 4:32:15 PM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: start: Starting web application at '/hudson'
8-Jul-09 4:32:16 PM hudson.WebAppMain contextInitialized
SEVERE: Failed to initialize Hudson
java.lang.NoClassDefFoundError: hudson.model.Hudson
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at hudson.WebAppMain.installLogger(WebAppMain.java:227)
   at hudson.WebAppMain.contextInitialized(WebAppMain.java:112)
   at org.apache.catalina.core.StandardContext.listenerStart(catalina-5.5.23.jar.so)

   ... snip ...

   at java.lang.Class.initializeClass(libgcj.so.7rh)
   ...24 more
8-Jul-09 4:32:16 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class hudson.WebAppMain
java.lang.NoClassDefFoundError: hudson.model.Hudson
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at hudson.WebAppMain.installLogger(WebAppMain.java:227)
   at hudson.WebAppMain.contextInitialized(WebAppMain.java:112)
   at org.apache.catalina.core.StandardContext.listenerStart(catalina-5.5.23.jar.so)

   ... snip ... 

   at org.apache.catalina.loader.WebappClassLoader.loadClass(catalina-5.5.23.jar.so)
   at java.lang.Class.forName(libgcj.so.7rh)
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   ...24 more
8-Jul-09 4:32:16 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
8-Jul-09 4:32:16 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/hudson] startup failed due to previous errors
8-Jul-09 4:32:16 PM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class hudson.WebAppMain
java.lang.NoClassDefFoundError: hudson.model.Hudson
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at hudson.WebAppMain.contextDestroyed(WebAppMain.java:280)
   at org.apache.catalina.core.StandardContext.listenerStop(catalina-5.5.23.jar.so)

   ... snip ... 

   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(tomcat-util-5.5.23.jar.so)
   at java.lang.Thread.run(libgcj.so.7rh)
8-Jul-09 4:32:16 PM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'

답변1

java.lang.NoClassDefFoundError: hudson.model.Hudson

클래스 로더가 클래스를 로드할 수 없는 것 같습니다.~할 것 같다로 인해 권한 문제가 발생합니다 SELinux.

귀하의 시스템에서 작동하는지 확인하기 위해 내장된 Hudson 버전을 실행해 볼 수 있습니까?

답변2

구성을 통해 이 문제를 해결할 수 없어서 외계인에게서 교훈을 얻어 궤도에서 핵무기를 발사했습니다. 결국 이것이 확신할 수 있는 유일한 방법입니다.

내 패키지 관리자(yum)가 설치한 버전을 지운 후 Tomcat 사이트로 이동하여 Tomcat 5.5 Core 및 관리 웹 애플리케이션의 바이너리 릴리스를 다운로드, 설치 및 구성했습니다.

그 후 몇 가지 사소한 권한 문제가 있었고 $CATALINA_HOME/bin/jsvc-src/native/Tomcat5.sh에 있는 스크립트를 수정하여 tomcat을 데몬으로 실행했는데 이제 모든 것이 잘 작동하는 것 같습니다.

별로 만족스러운 대답은 아니지만 더 이상 그것에 머리를 부딪힐 여유가 없었습니다.

관련 정보