Я думаю, у вас есть проблемы из-за несоответствия между загрузчиками классов и нативными библиотеками. нативные библиотеки загружаются и связываются с загрузчиком классов, однако программы могут только реально загрузить один экземпляр нативной библиотеки. поэтому, если вы загрузите собственную библиотеку в загрузчик классов A, и классы, которые она выводит, будут связаны с загрузчиком классов A. Если вы позже загрузите ту же собственную библиотеку в загрузчик классов B, вы на самом деле не загружаете ее снова, и она все равно будет Прохождение классов для загрузчика классов A. Итак, вы либо повторно развернули свое веб-приложение, либо у вас есть 2 веб-приложения на одном веб-сервере, которые используют одну и ту же нативную библиотеку.
если возможно, вы должны попытаться поместить нативную библиотеку в базовый путь к классу веб-сервера, чтобы он загружался базовым загрузчиком классов и, следовательно, мог использоваться любым веб-приложением. если вы не можете сделать это, и проблема заключается только в проблеме повторного развертывания, то вы можете захотеть отменить развертывание и немного подождать перед повторным развертыванием (теоретически, собственная библиотека lib будет выгружена, когда загрузчик классов, с которым она связана, является GCed, но, конечно, это может занять неизвестное количество времени).