Maven доступ к хранилищу URL - PullRequest
0 голосов
/ 26 марта 2019

Я хотел бы получить URL-адрес хранилища maven, используемого проектом, в файле pom.xml.

Я попробовал предложение, как описано в Maven: Получить URL-адрес хранилища для зависимости , но не удалось получить URL.При дальнейшем изучении я обнаружил $ {project.pluginRepositories} со списком репозитория.Однако мне не удалось извлечь URL из списка pluginRepositories.

echo of ${project.pluginRepositories} prints [id = 'maven-releases', id = 'central']. 

Я ищу способ извлечь "центральный" URL хранилища.

1 Ответ

0 голосов
/ 29 марта 2019

У меня есть следующие мысли в этом контексте:

1) Просто запустите команду mvn --version. Перейдите в каталог установки maven и просмотрите содержимое файла settings.xml в папке conf. В нем должно быть указано, какой центральный репозиторий maven используется. Вполне возможно, что там нет определенного репозитория. В этом случае либо используется центральный репозиторий по умолчанию, либо он будет определен из содержимого файла pom.xml модуля maven.

2) Если в файле settings.xml нет упомянутого конкретного репозитория, перейдите в модуль maven и проверьте effective-pom. В нем должно быть указано, какой центральный репозиторий maven используется. Вы можете получить похожие теги в вашем effective-pom файле

<repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
    </repository>
  </repositories>

Следующие ссылки также помогут вам в дальнейшем:

http://maven.apache.org/ref/3.6.0/maven-model-builder/#Model_Interpolation http://maven.apache.org/ref/3.6.0/maven-settings/settings.html

Пожалуйста, попробуйте использовать ${settings.repositories}, который вернет List<Repository>

...