Назад | Перейти на главную страницу

Хадсон не запускается в tomcat5

Hudson - это механизм непрерывной интеграции, который работает как сервлет Java в Tomcat. https://hudson.dev.java.net/

У меня Tomcat 5.5 успешно установлен в моей системе CentOS 5.3. Я могу видеть и взаимодействовать с ним через порт 8080.

Я могу загрузить файл hudson.war, который сообщает об успехе и, кажется, правильно распаковывает все в каталог webapps.

Однако, когда я пытаюсь запустить приложение hudson со страницы диспетчера веб-приложений tomcat, он не сообщает «FAIL - приложение в контексте пути / 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'

Мне не удалось решить эту проблему с помощью конфигурации, поэтому я взял урок у Чужих и уничтожил его с орбиты. В конце концов, это единственный способ убедиться.

После очистки версии, установленной моим диспетчером пакетов (yum), я пошел на сайт tomcat и загрузил, установил и настроил их двоичную версию Tomcat 5.5 Core и веб-приложение администрирования.

После этого у меня возникло несколько мелких проблем с разрешениями, я изменил сценарий, который они хранят в $ CATALINA_HOME / bin / jsvc-src / native / Tomcat5.sh, чтобы запустить tomcat в качестве демона, и теперь, похоже, все работает хорошо.

Я знаю, что это не очень удовлетворительный ответ, но я не мог больше позволить себе биться о него головой.

java.lang.NoClassDefFoundError: hudson.model.Hudson

Похоже, что загрузчик классов не может загрузить классы, и он мощь быть проблемой разрешений из-за SELinux.

Можете ли вы попробовать запустить встроенную версию Hudson, просто чтобы убедиться, что она может работать в вашей системе?