2013-02-21 3 views
8

В моем файле POM, я указанием двух репозиториев:Maven: значение хранилища ID

<repositories> 
    <repository> 
     <id>myid</id> 
     <url>http://url1</url> 
    </repository> 
    <repository> 
     <id>myid</id> 
     <url>http://url2</url> 
    </repository> 
</repositories> 

Таким образом, из документации Maven, у меня сложилось впечатление, что id элемент должен включать перекрестные ссылки с settings.xmlserver, чтобы указать информацию аутентификации. Оба http://url1 и http://url2, в моем случае, требуют одинаковые данные аутентификации; поэтому я использую тот же id для обоих.

Тем не менее, Maven жалуется, заявив, что элемент id должен быть уникальным.

Что дает? Что именно является целью этого элемента id? Я знаю (точно), что Maven использует его для получения данных аутентификации - вот почему все работает, когда я указываю только один репозиторий. Почему я должен дублировать свои данные аутентификации? что мне не хватает?

+0

[Как здесь сказано] (http://maven.apache.org/settings.html#Servers), похоже, что Maven связывает каждый репозиторий с записью сервера. Кажется, вам нужно создать две записи сервера, но вам не нужно дублировать свои учетные данные, просто установите их как свойства и используйте их в каждой записи. –

+0

@XtremeBiker, свойства, определенные внутри 'settings.xml', находятся только в контексте профиля. По какой-то причине эти свойства не расширены для элементов 'server'. – Isaac

ответ

6

ID должен быть уникальным. Используйте 2 конфигурации входа в ваши settings.xml.

+2

Хммм. Я считаю это ошибкой дизайна. Кто-то забыл что-то нормализовать. Но спасибо. – Isaac

+0

Похоже, что они должны быть уникальными, но не должны: https://stackoverflow.com/questions/21836539/sonatype-nexus-how-to-set-a-single-server-credentials-for-multiple-repositories? RQ = 1 – Robert

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