Вот, столкнулись на проекте со следующей ситуацией, которая, по ходу, неизвестно решаема ли нормальным путём. Есть веб-приложение, работающее под Tomcat. Это приложение в силу некоторых требований должно использовать механизм JNI, причём используемые нативные библиотеки являются частью самого веб-приложения и развёртываются вместе с ним. Вроде бы, всё замечательно, но мы не учли один подводный камень, а именно тот факт, что после вызова System.load() используемая .dll (.so пока под Linux не проверяли, но кажется, там так же) не освобождается при переразвёртывании этого веб-приложения. В итоге директория с приложением после этого неудаляема, поскольку нативная библиотека уже загружена в память. Метода System.unload(), к сожалению, не существует. Ни Google, ни Stack Overflow не помогли... Получается, единственным способом удалить библиотеку при переразвёртывании является остановка JVM (в данном случае — Tomcat), что недопустимо. Неужели не существует хоть какого-то способа обойти эту проблему?