В настоящее время я составляю список сторонних библиотек, используемых в веб-приложении. Приложение развернуто в tomcat. Мне интересно, какие из сторонних банок действительно должны или должны быть включены в дистрибутив. В частности, я сейчас задаюсь вопросом, как наилучшим образом использовать javax-библиотеки. Например, я бы предположил, что javax.annotation-3.1.1.jar можно использовать стандартным образом, например, загружать его как расширение, без меня, включая его в дистрибутив моего собственного программного обеспечения. Однако я включил его как транзитивную зависимость от jaxws-api, которая мне нужна для веб-сервисов, и поэтому она включена в каталог lib приложения. Насколько я понимаю, я мог бы использовать запись манифеста Extension-List, чтобы заставить целевую машину загружать и устанавливать такие банки. Тем не менее, тогда они видны для других приложений на той же машине, которые могут потребовать другие версии тех же библиотек.Перераспределение банок
Итак, у меня есть несколько вопросов по поводу 3-й партии LIBS и я был бы очень рад, если кто-то может дать мне несколько советов:
Что является лучшей практикой для использования сторонних библиотек?
Есть ли какая-то передовая практика для библиотек javax?
Можете ли я избежать перераспределения, не налагая большой нагрузки на человека, устанавливающего приложение?
Я действительно использую Maven и в том числе сервлет-api с областью действия «при условии». Кроме того, я могу найти аннотации-api.jar в папке lib Tomcat вместе с несколькими другими банками. Однако это далеко не все библиотеки javax. Например, jaxws-api не входит в эту папку. Установка, кстати, не проблема. Я просто рассматриваю, какие банки я должен упаковать, и какие из них я могу считать присутствующими по причинам лицензирования. – avidD