Я не думаю, что есть хороший способ проверить это. И я не уверен, что ты хочешь это сделать. Что вам нужно сделать, так это ознакомиться с архитектурой загрузки классов вашего сервера приложений и понять, как это работает.
Упрощенное объяснение того, как это работает: EJB или веб-приложение сначала ищут класс или ресурс в библиотеках, объявленных в своем собственном модуле (ejb-jar или war). если класс там не найден, загрузчик класса пересылает запрос своему загрузчику родительского класса, который является либо объявленной зависимостью (обычно ejb), либо загрузчиком класса приложения, который отвечает за загрузку библиотек и ресурсов, объявленных в пакете ear. , Если класс или ресурс все еще не найден, запрос перенаправляется на сервер приложений, который будет искать в своем собственном пути к классам.
При этом вы должны помнить, что модуль Java EE (web-app, ejb) всегда будет загружать классы из jar, который находится в ближайшей области видимости. Например, если вы упакуете log4j v1 в файл war, log4j v2 на уровне уха и поместите log4j v3 в путь классов вашего сервера приложений, модуль будет использовать jar в своем собственном модуле. убери это, и он будет использовать тот на уровне уха. уберите это, и он будет использовать тот, который находится в classpath сервера приложений. Все становится сложнее, когда у вас есть сложные зависимости между модулями.
Лучше всего разместить глобальные библиотеки приложений на уровне ушей.