Мой проект требует автономной сборки, то есть он должен быть собран без подключения к интернету. Хранилище также должно быть автономным, то есть содержать все эти зависимости. И я пытаюсь продавать артефакты Maven, необходимые для моего проекта. Я был частично успешным, указав раздел хранилища в POM:
<repositories>
<repository>
<id>central</id>
<url>file://${basedir}/../thirdparty/maven-repo</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>file://${basedir}/../thirdparty/maven-repo</url>
<snapshots><enabled>false</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
Таким образом, большая часть артефактов извлекается из указанного каталога. К сожалению, некоторые из этих артефактов содержат ссылку на jboss-parent
артефакт:
<parent>
<groupId>org.jboss</groupId>
<artifactId>jboss-parent</artifactId>
<version>34</version>
</parent>
И этот артефакт содержит свой собственный раздел репозитория:
<pluginRepositories>
<pluginRepository>
<id>jboss-public-repository</id>
<name>JBoss Public Maven Repository</name>
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
В результате некоторые зависимости загружаются из этогоместоположение вместо моей локальной папки, игнорируя мои переопределения. Изменение моего pom.xml на
<repositories>
<repository>
<id>central</id>
<url>file://${basedir}/../thirdparty/maven-repo</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
<repository>
<id>jboss-public-repository</id>
<url>file://${basedir}/../thirdparty/maven-repo</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>file://${basedir}/../thirdparty/maven-repo</url>
<snapshots><enabled>false</enabled></snapshots>
</pluginRepository>
<pluginRepository>
<id>jboss-public-repository</id>
<url>file://${basedir}/../thirdparty/maven-repo</url>
<snapshots><enabled>false</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
не помогает, и плагины, такие как maven-bundle-plugin, в любом случае извлекаются из Интернета.
Так что мой вопрос. Есть ли способ принудительно переопределить репозитории на основе POM? Использование settings.xml, автономных серверов репозиториев и т. Д. Не вариант - проект должен быть собран с помощью всего нескольких инструментов. Я проверил другие подобные ответы, но они обычно упоминают о запуске вашего собственного сервера репозитория и связи с ним с помощью опции зеркала в файле settings.xml.
Спасибо