У нас есть сервер nexus, который имеет общую группу репозитория maven-public, содержащую все внешние прокси-репозитории (например, maven-central). Кроме того, у нас есть локальный репозиторий. Назовем это MyProjectRepository. Он разделен на release-репо и моментальный снимок.Почему maven не может найти артефакт, расположенный в размещенном репозитории?
Таким образом, в настоящее время выглядит следующим образом:
- MyProjectRepository
- MyProjectRepository-снимки
- ArtifactOne
- Snapshot-5
- ...
- Snapshot- 1
- ArtifactTwo
- Snapshot-3
- ...
- Snapshot-1
- ArtifactOne
Хорошо, ArtifactTwo нужно ArtifactOne как зависимость. Таким образом, я добавил это в разделе Зависимости:
<dependency>
<groupId>com.company</groupId>
<artifactId>artifactone</artifactId>
<version>0.0.5</version>
</dependency>
Я настроен раздел хранилища, как это:
<repository>
<id>myprojectrepositoryss</id>
<name>MyProjectRepository Snapshots</name>
<url>http://mylocalnexus.com/nexus/repository/MyProjectRepository-Snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
Моего settings.xml зеркало сечение выглядит следующим образом:
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>external:*, !myprojectrepositoryss</mirrorOf>
<url>http://mylocalnexus.com/nexus/repository/maven-public/</url>
</mirror>
Мой settings.xml профили сечения выглядеть следующим образом:
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
Несмотря на настройку всего, как описано в учебнике, моя IDE заявляет, что артефакт в данной зависимости не может быть найден.
Не удалось выполнить задачу по проекту ArtifactTwo: Не удалось разрешить зависимостей для проекта com.company:ArtifactTwo:jar:0.0.3-SNAPSHOT: Неспособность найти com.company:artifactone:jar:0.0. 5 в http://mylocalnexus.com/nexus/repository/maven-public/ кэшировались в локальное хранилище, разрешение не будет повторной попытка, пока интервал обновления связующего не прошло и обновления вынуждены
Почему искать зависимость в «мавена-общественности»? Кто-нибудь знает, как заставить это работать?