2012-03-20 2 views
3

Я очень близок к тому, что у меня есть рабочая установка с архивой и maven.Установите maven для использования архивационных репозиториев БЕЗ использования activeByDefault?

Последнее, что меня очень поразило, заключается в том, как настроить внутренние и мгновенные хранилища - без использования профиля, который содержит activeByDefault, установленного в true.

Я использую SUPER super pom - общесистемный pom, который содержит информацию распределения управления для релизов. Я думал, что могу указать репозитории в этом помпе и настроить параметры проверки подлинности в settings.xml? Можно ли использовать тег репозиториев без профиля? Не должно быть никакого «профиля» для моих внутренних и хранилищ снимков, поскольку они никогда не будут меняться ...

То, что я пытаюсь скрыть, использует профиль «по умолчанию», который активен все время , Я слышал, что activeByDefault НЕ является лучшей практикой, и я не собираюсь ее использовать.

Сказанное, как я должен это делать? Мое внутреннее репо - зеркало центрального репо maven, поэтому я хотел бы заблокировать своих разработчиков, чтобы использовать наш внутренний сервер артефактов. Помните - я НЕ хочу, чтобы профиль с activeByDefault установлен в true. Я не могу подчеркнуть это достаточно! Должен ли я использовать зеркала Maven? Должен ли я «добавлять» дополнительные репозитории?

Если я беру тэг репозиториев вместо тега mirror, будет ли maven force создавать только ТОЛЬКО мои настройки archiva, а не по умолчанию maven central?

Или это то, что я пытаюсь выполнить, используя только тег зеркала в maven? Я знаю, как настроить учетные данные репо при использовании тега репозиториев, но не с зеркалами. Как это делается? Предоставляет ли учетные данные для чего-либо в тегах зеркал так же, как и в тегах репозиториев?

Я пропустил что-то очевидное? Я добрался до этого, чтобы все наладилось и работало с помощью maven. Я знаю, что это будет полезно в конце, но это, несомненно, вызывает у меня тонну обострения, и ресурсы кажутся скудными. Либо это, либо люди довольствуются его использованием, но, пожалуйста, не обращая внимания на лучшие практики.

Спасибо

ответ

7

Чтобы использовать внутренний репозиторий как зеркало центральных вам нужно установить зеркало, как это (в settings.xml):

<mirrors> 
    <mirror> 
     <id>my-internal-repo</id> 
     <mirrorOf>central</mirrorOf> // use * for do mirror of all 
     <name>Clinker Maven Repository</name> 
     <url>http://my-repo-host/my-repo-path</url> 
    </mirror> 
</mirrors> 

Если my-internal-repo защищен, вы можете установить полномочие :

<servers> 
    <server> 
     <id>my-internal-repo</id> 
     <username>youruser</username> 
     <password>yourpassword</password> 
    </server> 
</servers> 

Обратите внимание: содержимое тега идентификатора сервера должно соответствовать идентификатору вашего зеркала.

Чтобы использовать internal-snapshots хранилище необходимо установить хранилище в вашем проекте POM, так как использование моментальных снимков артефакта следует контролировать и четко определены на уровне проекта, а не на уровне параметров:

<repository> 
    <id>internal-snapshots</id> 
    <url>http://your-repo-host/internal-snapshots-path</url> 
    <releases> 
     <enabled>false</enabled> 
    </releases> 
    <snapshots> 
     <enabled>true</enabled> 
    </snapshots> 
</repository> 

И наконец, вы должны исключить internal-snapshots из зеркала:

<mirrors> 
    <mirror> 
     <id>my-internal-repo</id> 
     <mirrorOf>central, !internal-snapshots</mirrorOf> // use * to do mirror of all 
     <name>Clinker Maven Repository</name> 
     <url>http://my-repo-host/my-repo-path</url> 
    </mirror> 
</mirrors> 

и добавить сервер (если он защищен):

<servers> 
    <server> 
     <id>my-internal-repo</id> 
     <username>youruser</username> 
     <password>yourpassword</password> 
    </server> 
    <server> 
     <id>internal-snapshots</id> 
     <username>youruser</username> 
     <password>yourpassword</password> 
    </server> 
</servers> 
+0

Большое вам спасибо, такой чистый способ сделать это.Я не могу противостоять профилям maven - это отличное решение. –

+0

Может ли ваша конфигурация автоматически загружать плагины из центрального репозитория maven, или мне также нужно добавить теги ? Если да, то как мне их настроить? –

+0

Зеркало должно работать и для плагинов. Больше не требуется настройка. – amuniz

Смежные вопросы