Несанкционированный доступ к искусству, даже если учетные данные включены
Я пытаюсь развернуть zip файл на удаленном внутреннем репозитории maven (artifactory интегрирован в hudson).
pom.xml
...
<modelVersion>4.0.0</modelVersion>
<groupId>mygroupId</groupId>
<artifactId>myartifactid</artifactId>
<version>1.0-SNAPSHOT</version>
<distributionManagement>
<repository>
<id>hudson</id>
<name>hudson-releases</name>
<url>http://url to repo</url>
</repository>
</distributionManagement>
...
settings.xml
<servers>
<server>
<id>hudson</id>
<username>username</username>
<password>password</password>
</server>
</servers>
развертывание maven
mvn deploy:deploy-file -Durl=http://url -Dfile=file-1.0.0.zip -Dpackaging=zip -DpomFile=pom.xml
maven завершает работу с кодом возврата 401.
Глядя на артефактные журналы
2011-07-15 13:52:50,090 [DENIED DEPLOY] libs-release-local:somefile.zip for anonymous/192.168.220.146.
Я не понимаю, почему maven не использует предоставленные учетные данные.
Что я здесь делаю неправильно?
Ответы
Ответ 1
По какой-то причине использование POM файла не сработало. Поэтому я должен был сделать это из командной строки.
mvn deploy:deploy-file -Durl=http://url -Dfile=file-1.0.0.zip -Dpackaging=zip -DartifactId=aid -DgroupId=groupId -DrepositoryId=repId -Dversion=1.0-SNAPSHOT
Я до сих пор не знаю, почему это сработало. Кроме того, мне не нужно было изменять параметры settings.xml из того, что я ранее упоминал.
ИЗМЕНИТЬ
Кроме того, на домашней вкладке artifactory вы можете получить настройки maven, нажав "Настройки Maven- > Generate Settings".
Ответ 2
Совет для решения проблемы с помощью текстового пароля:
- Доступ и вход в Artifactory.
- Как только вы войдете в систему, нажмите на свое имя пользователя в правом верхнем углу экрана.
- Поместите свой пароль, затем клик в em Unlockbutton, включив зашифрованный пароль.
- Скопируйте тег, который будет отображаться на нижней части экрана, и вставьте его в файл settings.xml. Если вы предпочитаете просто скопировать пароль, убедитесь, что он точно равен тегу, указанному ниже, включая "\" в начале пароля.
- Не забудьте настроить тег с идентификатором вашего сервера, определенным в теге, в вашем POM.xml
- Нажмите кнопку "Обновить" и готов! Убедитесь, что все будет хорошо при следующей публикации проекта.
Ответ 3
Хадсон скорее всего кэширует settings.xml. Вы можете попробовать перезагрузить конфигурацию с диска, используя этот url http://your-hudson-url:8081/hudson/reload или перезапустить контейнер, на котором запущен Hudson. Работал для меня.
Ответ 4
Не забудьте проверить, что то, что вы положили на <distributionManagement>
на pom.xml, соответствует тому, что находится в тегах вашего .m2/settings.xml.
Ответ 5
Вы публикуете версию моментального снимка, но вы не указали тег snapshotRepository в разделе distributionManagement вашего POM. В качестве альтернативы попробуйте и разверните обычную версию и посмотрите, работает ли она
Ответ 6
Maven не настроен на использование предварительной проверки подлинности по умолчанию и имеет некоторые проблемы при вызове.
Вы можете попробовать настроить Maven HttpClient Wagon для выполнения предварительной проверки подлинности (http://maven.apache.org/guides/mini/guide-http-settings.html), хотя мне редко удается заставить его работать должным образом.
Поскольку вы используете Jenkins\Hudson, вы можете взглянуть на плагин Jenkins\Hudson - Artifactory:
Ответ 7
Обновите сведения о конфигурации Maven и добавьте учетные данные nexus:
credentials: admin