Может ли Maven сослаться на родительский POM из частного сегмента s3?

При использовании приватного сегмента AWS S3 в качестве репозитория Maven существует множество работающих провайдеров s3 wagon, которые прекрасно работают для развертывания и извлечения зависимостей с использованием протокола папки s3://[bucket]/.

Однако, когда вы пытаетесь сделать это с родительской ссылкой POM, то есть

  <parent>
    <groupId>com.my.company</groupId>
    <artifactId>my-parent-pom</artifactId>
    <version>1.0.0</version>
  </parent>

Существующий только в частном репозитории S3 Maven, кажется, что Maven проверяет только определенные репозитории на основе HTTP и не пытается заглянуть в репозиторий S3.

Вагон S3 в этом проекте определяется как

<build>
<extensions>
  <extension>
    <groupId>org.springframework.build</groupId>
    <artifactId>aws-maven</artifactId>
    <version>5.0.0.RELEASE</version>
  </extension>
</extensions>
</build>

Что, опять же, прекрасно работает для нормальных зависимостей, но не для родительской ссылки POM

Ищите какой-нибудь способ правильного разрешения родительского POM в репозитории S3 Maven

2 ответа

На мой комментарий к другому сообщению в этой теме: Если вы используете Maven 3.2.5 или более позднюю версию, вы можете указать плагин в качестве JAR в командной строке.

Если вы используете Maven 3.3.1 или новее, создайте .mvn/extensions.xml файл в вашем проекте, который определяет универсал S3, чтобы он был предварительно загружен к моменту разрешения родительского POM.

Подробности см. В примечаниях к выпуску Maven 3.3.1: https://maven.apache.org/docs/3.3.1/release-notes.html

Ответ - нет.

Основная проблема с репозиторием Maven и S3 заключается в том, что Maven загружает POM-родитель перед фургоном S3.

Проверьте здесь для деталей: http://www.sonatype.org/nexus/2015/03/03/why-s3-is-not-the-perfect-maven-repository/

Другие вопросы по тегам