Это не то, что я искал. Я хочу сохранить все зависимости в SVN по многим причинам (...)
Я вернусь к этому, но решение, которое я описал в Maven: добавить зависимость к банке по относительному пути (используя файловый репозиторий ), позволяет реализовать такое решение.
Другая проблема, с которой я столкнулся в репозитории maven, заключается в том, что они довольно сильно отстают в версиях. Например, для mvnbrowser logback равен 0.9.18, но официально 0.9.24. PircBot - это 1.4.6 в mvnbrowser, но 1.5.0 официально. Почему такие старые версии?
Похоже, что mvnbrowser индексы полностью устарели (что делает его бесполезным в качестве поисковой системы хранилища), поскольку maven центральное хранилище имеет logback-core-0.9.24.jar
(проект logback делает то, что необходимо сделать, чтобы это произошло), но имеет только старый pircbot-1.4.2.jar
. Зачем? Спросите команду pircbot. В любом случае, вы правы, центральный репозиторий не всегда может иметь окончательные версии.
Проблема 3 в том, что у меня есть зависимости, которые даже не существуют в репозиториях, такие как Easier Java Persistence.
Да, это тоже случается.
Как заставить все зависимости приходить из / lib, например
Как уже указывалось, вам следует внимательно прочитать решение, предложенное в Maven: добавить зависимость в банку по относительному пути . Это решение не об установке библиотек в локальном репозитории , а об использовании файлового репозитория (который, таким образом, может храниться в SVN). Возможно, вы упустили момент, это соответствует вашему варианту использования. А также проверьте ответ Бретта для варианта.
Что касается примечания, может ли mvn строить напрямую из репозитория SVN библиотеки? Просто любопытно
Не получил это. Вы можете уточнить?
Существует ли автоматический способ получения новейшей версии непосредственно с сайта зависимостей / репозитория svn, если они также используют Maven? IE библиотеки, такие как commons-lang или logback
Maven поддерживает диапазоны версий , и вы можете использовать синтаксис, позволяющий использовать «любую версию, превышающую X». Но я НЕ рекомендую вообще использовать диапазоны версий для воспроизводимости сборки. Вы не хотите, чтобы сборка внезапно потерпела неудачу из-за автоматического обновления, которое произошло на вашей спине. Обновляйте только в том случае, если вам нужны исправления ошибок или новые функции, но делайте это явно (, если ничего не сломано, не исправляйте ).
Вы также можете найти упоминания маркеров версий LATEST
и RELEASE
. Я не рекомендую их ни по тем же причинам, что и выше, и даже меньше, поскольку они удалены из Maven 3.x .
Есть ли лучший способ управления зависимостями? (IE Ivy или какой-то странный вариант POM, который мне не хватает)
Не могу сказать за Айви. Но на земле Maven, если вы не можете разместить «корпоративный» репозиторий для своего проекта (Nexus, Archiva, Artifactory), тогда файловый репозиторий является IMO лучшим подходом.