Я использую maven 3.0 (с настройкой nexus) для создания своих проектов и получаю ошибки сборки:
Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact directory:apacheds-core:jar:${apacheds_version} in central (http://localhost:8081/nexus/content/repositories/central)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:945)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:940)
Моя основная путаница: Когда maven видит зависимость в pom.xml, как он ищет артефакты в удаленных репозиториях?
Мое текущее понимание:
Сначала он будет искать в локальном репо ( .m2/repository ).
Если он не находит там , он попытается найти репозиторий, указанный в settings.xml под тегом repository. Вопрос: пробует ли он все упомянутые репозитории? или только первый? Ниже я упомянул 5 репозиториев: maven ищет их все один за другим или только первый?
<repositories>
<repository>
<id>central</id>
<url>http://localhost:8081/nexus/content/repositories/central</url>
</repository>
<repository>
<id>remote</id>
<url>http://localhost:8081/nexus/content/repositories/remote-proxy-nexus-central</url>
</repository>
<repository>
<id>thirdParty</id>
<url>http://localhost:8081/nexus/content/repositories/thirdparty</url>
</repository>
<repository>
<id>codehaus</id>
<url>http://localhost:8081/nexus/content/repositories/codehaus-snapshots</url>
</repository>
<repository>
<id>public</id>
<url>http://localhost:8081/nexus/content/groups/public</url>
</repository>
</repositories>
Последнее мое замешательство связано с разделом прокси в settings.xml. Что это за локации:
<proxy>
<id>remote-proxy-nexus-central</id>
<active>true</active>
<protocol>http</protocol>
<host>repo1.maven.org/maven2</host>
<port>8080</port>
</proxy>