Ну, коротко: представьте, что у вас есть класс org.example.Test.class
, если вы поместите его в jar и в каталог WEB-INF/lib/
и скопируете тот же класс в WEB-INF/classes/
, тогда загрузчик классов этого приложения будет использовать последний (из * 1004)*).
Иногда вы можете использовать это как преимущество - у меня есть библиотека, и в ней есть ошибка ... Я ищу источник этого класса (где ошибка; я пропускаю часть того, как я знаю, что ошибка естьв этом классе это другая история), я добавляю этот класс в проект с фиксированным кодом, и он компилируется в WEB-INF/classes/
, в то время как библиотека все еще существует в WEB-INF/lib/
.Фиксированный класс будет использоваться до тех пор, пока библиотека не будет исправлена.