В спецификации (2.4) говорится:
Загрузчик классов веб-приложения должен загружать классы из
Сначала каталог WEB-INF / classes, а затем из библиотек JAR в
Каталог WEB-INF / lib.
Так что, если Tomcat сначала загружается из банки, это не соответствует спецификации.
Его документация гласит:
Следовательно, с точки зрения веб-приложения, класса или
Загрузка ресурса выглядит в следующих репозиториях, в следующем порядке:
- Начальные классы вашей JVM
- Классы загрузчика системных классов (описано выше)
- / WEB-INF / классы вашего веб-приложения
- / WEB-INF / lib / *. Jar вашего веб-приложения
- Общие классы загрузчиков классов (описанные выше)
Так что я удивлен, что вы видите такое поведение. Если вы абсолютно уверены, что класс находится не в некотором банке в собственном пути к классам Tomcat, отправьте отчет об ошибке. Перед этим также обязательно очистите рабочий каталог Tomcat или даже начните новую установку Tomcat.
Обходной путь - это, конечно, перепаковать файл JAR, чтобы включить ваш измененный класс вместо того, чтобы полагаться на порядок загрузки классов.