2009-05-11 7 views
4

В eclipse плагин m2eclipse подскажет мне мои учетные данные, когда я создаю проект maven2. И он прекрасно компилируется.Как передать учетные данные при подключении к сонатипу nexus (анонимный вход отключен)?

Но если я сейчас попытаюсь запустить «mvn install» из командной строки, я получаю артефакт не найденной ошибки. Как добавить имя пользователя/пароль в pom.xml, чтобы решить эту проблему.

ответ

6

С каким именем пользователя вы говорите? Если его имя пользователя определено в репозитории nexus, вы можете определить в settings.xml, где вы определили хранилище нексусов.

<servers> 
    <server> 
    <id>releases</id> 
    <username>xxxxxxxxx</username> 
    <password>yyyyyyyy</password> 
    </server> 
</servers> 
+1

Это относится также к извлечению артефактов? Я думал, это было для загрузки артефактов. –

+2

Да, он применяется и для извлечения артефактов. Значение в атрибуте id должно соответствовать значению идентификатора зеркала, определенного для репозитория nexus. –

1

Насколько я знаю, для его настройки нет тегов maven xml. Конечно, вы можете попробовать префикс имени домена с именем пользователя и паролем следующим образом:

http://username:[email protected]/.. 
+0

Это работает для меня, хотя я использую buildr вместо maven. Это происходит только потому, что базовая библиотека http поддерживает это, а не из-за какой-либо явной поддержки со стороны buildr, но ключевой момент заключается в том, что Nexus поддерживает использование http auth, а не файл cookie, который, как я полагаю, использует для интерфейс администратора. –

1

Maven будет использовать записи, определенные в ваших настройках для auth, когда будет предложено Nexus. Просто введите запись сервера с тем же идентификатором, который вы используете для своего репозитория (или зеркало, если используете его), и все.