Maven четких зависимостей? - PullRequest
0 голосов
/ 10 января 2012

Интересно, возможно ли остановить Maven 3.0, загружая старые библиотеки, и использовать только разные версии. (предпочитая локальный репозиторий и версии, где я скачал Javadoc и исходники вручную)

Например, используя JUnit 3.8.2, 4.8.1 и новейшую версию 4.x, но никогда <3.8.1, 4.5, 4.6-Snapshot и т. Д. </p>

Предыстория: у меня есть реальные проекты и локальное репо на первом диске (SSD) с ограниченным пространством.
Если я попробую архетип maven, чтобы начать новый проект (часто для изучения новой темы), maven, например, скачает, то есть junit 4.5 но я не люблю редактировать пом вручную, просматривая мои локальные версии, думая о совместимости и я не люблю чистить и загружать предпочтительные зависимости снова и снова.

Существуют ли какие-либо инструменты, плагины, настройки или передовые методы для этого?

Что я пробовал до сих пор ...

  • переход в автономный режим не помогает вызвать загрузку моего предпочтительного предложения IDE вручную только для doc + src => «Не удалось разрешить зависимости ... Система хранилища отключена, но артефакт ... недоступен в локальном хранилище."

  • На данный момент рекомендуется (netbeans) в контекстном меню «Удалить». зависимость "от проекта и
    " Добавить как зависимость .. "из локального репозитория дерево. (например скриншоты ?)

Ответы [ 2 ]

1 голос
/ 11 января 2012

Прочитав много нового, я, наконец, согласен с Спенсер Кормос :

Если вы используете архетипы, вы мало что можете сделать ...

Лучшая практика для меня теперь такова:

Небольшое решение - создать помпа, используя архетип- добавить <dependencyManagement../> описание предпочтительной зависимости в верхней части помпа- добавить <scope>provided</scope>- опционально вы можете добавить <exclusions.. />- удалить конфликтующие теги <version../> в сгенерированном pom- раздел <dependencyManagement../>, который я буду использовать для копирования / вставки в других проектах

Лучшее решение (надеюсь)? - создать родительский / главный помп с <dependencyManagement../> из предпочтительных артефактов- использовать сгенерированный из архетипа pom как модуль или дочерний проект- используйте мастер пом для группировки зависимостей с <packaging>pom</packaging>

Некоторые вещи, которые я читал в последний день разрешены только две ссылки :-(Maven-Model (ищите семейство зависимостей в project ) Maven: полный справочник, глава 3.6.1.Группировка зависимостей

0 голосов
/ 10 января 2012

Если вы указываете версии в вашем pom.xml (как зависимость или исключаете более старую версию из зависимости), она не должна загружать никакие другие jar-файлы, кроме указанных (или исключенных).

...