У меня есть частный Nexus с репозиторием, защищенным аутентификацией.
Извлечение библиотек работает как шарм, но если я хочу использовать один из хранящихся там архетипов, мне всегда нужно писать имя пользователя и пароль открытым текстом в URL-адресе каталога архетипов, например:
mvn archetype:generate -DarchetypeCatalog=http://username:[email protected]/nexus/content/repositories/myrepo/archetype-catalog.xml
Я прочитал http://maven.apache.org/archetype/maven-archetype-plugin/faq.html#authentication и обновил мой settings.xml тем, что я понял из этой очень маленькой справки:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>myrepo</id>
<username>username</username>
<password>{HASHED_PASSWORD}</password>
</server>
<server>
<id>pretty-archetype-unicorn-repo</id>
<username>username</username>
<password>{HASHED_PASSWORD}</password>
</server>
</servers>
<profiles>
<profile>
<id>someid</id>
<repositories>
<repository>
<id>myrepo</id>
<name>My Repo</name>
<url>http://maven.mycompany.com/nexus/content/repositories/myrepo/</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>someid</activeProfile>
</activeProfiles>
</settings>
Излишне говорить, что это не работает, и когда я пытаюсь:
mvn archetype:generate -DarchetypeCatalog=http://maven.mycompany.com/nexus/content/repositories/myrepo/archetype-catalog.xml
Я получаю то же самое:
[WARNING] Error reading archetype catalog http://maven.mycompany.com/nexus/content/repositories/myrepo/archetype-catalog.xml
org.apache.maven.wagon.authorization.AuthorizationException: Access denied to: http://maven.mycompany.com/nexus/content/repositories/myrepo/archetype-catalog.xml
Любые подсказки или лучшая документация с рабочим примером?