Одним из хороших решений является создание отдельного проекта с исправленными исходными библиотеками и его развертывание в локальном / корпоративном хранилище с квалификатором -patched. Но это не подходит для проекта с открытым исходным кодом, который может быть легко создан любым, кто проверяет его источники. Или я должен просто сказать «а также, прежде чем строить мой проект, пожалуйста, проверьте все это и запустите mvn install».
Это то, что я бы сделал (и на самом деле то, что я делаю) для корпоративного проекта и проекта с открытым исходным кодом. Получите исходники, поместите их под контроль версий в отдельном проекте, исправьте их, пересоберите исправленную библиотеку (и включите эту информацию в версию, что-то вроде XYZ-исправлено), разверните ее в хранилище (вы можете использовать SVN для этого а-ля Google Code 1 ), объявите репозиторий в своем POM и обновите зависимость, чтобы она указала на вашу исправленную версию.
При таком подходе вы можете сказать своим пользователям: проверьте мой код и запустите mvn install
, и они просто получат исправленную версию без каких-либо дополнительных действий. ИМХО это самый чистый способ (не подвержен ошибкам, нет путаницы с порядком пути классов, нет увеличения времени сборки и т. Д.).
1 Многие люди размещают свой код в своем размещенном хранилище Subversion (инструкции в этом посте ).