Хадсон не запускается в Tomcat5
Hudson - это механизм непрерывной интеграции, который работает как сервлет Java в tomcat. https://hudson.dev.java.net/
У меня успешно установлен Tomcat 5.5 в моей системе CentOS 5.3. Я могу видеть и взаимодействовать с ним по порту 8080.
Я могу загрузить файл hudson.war, который сообщает об успехе и, кажется, правильно распаковывает все в каталог webapps.
Однако, когда я пытаюсь запустить приложение hudson со страницы диспетчера веб-приложений tomcat, оно не выдает сообщение "FAIL - приложение по контекстному пути / hudson не может быть запущено".
Балансировщик, администратор и другие веб-приложения по умолчанию отображаются правильно.
В этой системе включен SELinux, что в прошлом вызывало у меня проблемы. Не уверен, относится ли это к этому делу.
Журнал кота выглядит так:
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'
2 ответа
Я не смог решить эту проблему с помощью конфигурации, поэтому я взял урок от пришельцев и снял его с орбиты. В конце концов, это единственный способ быть уверенным.
После очистки версии, установленной моим менеджером пакетов (yum), я зашел на сайт tomcat и скачал, установил и настроил их двоичный выпуск Tomcat 5.5 Core и веб-приложение администрирования.
После этого у меня было несколько незначительных проблем с разрешениями, я изменил скрипт, который они хранят в $CATALINA_HOME/bin/jsvc-src/native/Tomcat5.sh, чтобы запустить tomcat как демон, и теперь, похоже, все работает хорошо.
Я знаю, не очень удовлетворительный ответ, но я больше не мог позволить себе биться в это.
java.lang.NoClassDefFoundError: hudson.model.Hudson
Похоже, что загрузчик классов не может загрузить классы, и это может быть проблема с разрешениями из-за SELinux
,
Можете ли вы попробовать запустить встроенную версию Hudson, просто чтобы выяснить, может ли она работать в вашей системе?