Класс org.springframework.web.util.Log4jConfigListener определенно отсутствует в вашем пути к классам.
Первое, что я хотел бы предложить, это включить уровень ведения журнала в Tomcat - в папке conf - до «ALL» или «DEBUG», чтобы вы могли точно видеть, что происходит в контейнере, который предотвращение обнаружения этого класса.
Во-вторых, я бы порекомендовал вам проверить файлы JAR на наличие файла отсутствующих классов, запустив grep, если в linux / mac:
# run at the root of your lib folders:
grep -ri "org.springframework.web.util.Log4jConfigListener" *
Приведенная выше команда вернет все файлы JAR, содержащие этот пакет. Как только файл JAR изолирован, вы можете продолжить устранение неполадок.
В-третьих, убедитесь, что у вас нет никаких конфликтов. Несколько версий Log4j, находящихся в вашем classpath, приведут к хаосу. Как система должна знать какой org.springframework.web.util.Log4jConfigListener пакет должен быть загружен, если их 2? Tomcat имеет 3 разных папки classpath:
shared/lib
lib
webapps/yourapp/WEB-INF/lib
Убедитесь, что в одной из этих папок есть только один файл JAR log4j.