У меня есть приложение Spring, которое имеет много зависимостей (18 мегабайт файлов JAR ..) - Теперь, когда я тестирую на удаленном сервере Tomcat 6.0, мне не нужно загружать эти 19 мегабайт зависимости, и просто загрузить классы. Довольно просто, верно?
Я не могу заставить эту чертову штуку работать.
Я использую Eclipse 3.4, и если в Java Build Path-> Order and Export я удаляю экспорт всех зависимостей, я получаю небольшую маленькую WAR.
Итак, вот что я попробовал:
Я загрузил все библиотеки на сервер и вставил их в общую / lib в Tomcat. Каталог не существует, поэтому я создал его и изменил catalina.properties:
shared.loader=${catalina.home}/common/lib/*.jar
Я пробовал кучу других конфигов, но ни один не работал. Перезагрузите сервер, развернутая война не запускается. В частности:
SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderList$java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1
Умирает при попытке загрузить прослушиватель Log4J, которого он не может найти в своем пути к классам. Spring lib, в котором находится слушатель, находится в общем / lib.
Кроме того - когда я развернул всю войну 18 мегабайт, все работает просто отлично. Все начинается, и приложение запускается. Конечно, он хорошо работает и локально.
О - и я заменил жестко закодированные JAR-файлы журналов на файлы из папки extras, чтобы позволить Log4j работать.
Любая помощь здесь? Я понятия не имею, почему это не работает.