Стоит ли проверять, скажем, обновления безопасности для этих библиотек?
В общем, это хорошая идея.Но то же самое должны делать все восходящие и нисходящие вас.
В вашем конкретном случае речь идет о тестовом коде.Если потенциальные недостатки безопасности в библиотеках, используемых только в тестировании, значительны, ваши нижестоящие пользователи делают что-то странное ...
Наконец (и, самое главное, на самом деле то, что меня больше всего беспокоит): Что еслиЯ хочу включить другую библиотеку, которая зависит от тех же библиотек, что и эта библиотека, но с разными версиями?То есть, что если, например, HtmlUnit зависит от одной версии xalan и другой библиотеки, которая мне нужна, зависит от другой версии xalan?
Ах, да.Предполагая, что вы создаете собственные пути к классам и т. Д. Вручную, вам необходимо принять решение о том, какую версию зависимых библиотек следует использовать.Обычно безопасно выбрать самую последнюю из использованных версий.Но если старая версия не является обратно несовместимой с новой (для вашего случая использования), то у вас есть проблема.
Должен ли я беспокоиться об этом?
IMO, для вашего конкретного примера (где мы говорим о тестовом коде) нет.
Каковы лучшие практики в подобных ситуациях?
Используйте Maven!Он явно раскрывает зависимости людям, которые скачивают ваш код, что позволяет им решать эту проблему.Он также сообщает вам, когда у вас возникают конфликты версий зависимостей, и предоставляет простой механизм «исключения» для его решения.
Maven также устраняет необходимость создания дистрибутивов.Вы публикуете только своих артефактов с ссылками на их иждивенцев.Затем команда Maven загружает зависимые артефакты оттуда, где они были опубликованы.
EDIT
Очевидно, что если вы используете HtmlUnit для производственного кода (а не просто для тестирования), то вам нужно больше внимания уделять вопросам безопасности.