Вы можете выбрать любой из них.
Преимущества его размещения в tomcat / lib состоят в том, что драйвер доступен для всех приложений, развернутых в вашем экземпляре Tomcat, и что вы можете настроить источники данных в конфигурации сервера Tomcat. Недостатком является то, что развернутое приложение зависит от конфигурации сервера: если вы замените сервер, вам нужно будет обязательно включить эти дополнительные зависимости.
Преимущества размещения его в WEB-INF / lib что приложение является автономным (оно содержит все необходимые библиотеки), а зависимость явно выстраивается при построении вашей WAR. Недостатком является то, что это может вызвать утечки памяти. Например, если драйвер зарегистрирован как DriverManager
, но не незарегистрирован при отмене развертывания приложения (хотя Tomcat имеет защиту от этого). Подобные утечки памяти могут также произойти, если драйвер запускает потоки, но не останавливает их, когда веб-приложение останавливается.
Любой вариант подходит, но, по моему опыту, наличие драйвера в WEB-INF/lib
более распространено (но это, вероятно, результат среды, в которой я работаю).