Интерфейс Artifactory "Set me up" для репозитория Maven не позволяет мне генерировать settings.xml без предварительной идентификации развертывания и виртуальных репозиториев

Используя приведенное ниже изображение в качестве справки, у меня есть несколько проблем на данный момент.

Я пытаюсь создать шаблон settings.xml для maven изнутри артефакта, чтобы я мог загрузить свои зависимости maven из артефакта. Это все, что я пытаюсь сделать. Я не пытаюсь установить репозиторий развертывания или что-то еще. Я только пытаюсь установить свой прокси-сервер зависимостей для плагинов maven.

Мой репозиторий maven, который будет загружать/кешировать из maven Central, называется «joeytest-maven-central-remote».

Когда я нажимаю «Настроить меня» в артефактах, вот что происходит:

  1. Мне предлагается выбрать репозиторий. Естественно, я бы просто выбрал удаленное репо, которое только что настроил. Вот откуда я хочу скачать свои зависимости. Проблема в том, что я не могу. Это не вариант. Мне пришлось создать еще одно репо под названием «joeytest-maven-dev-local», которое, предположительно, было бы тем, на что я бы развернул свои артефакты maven, просто чтобы было что выбрать в этом раскрывающемся списке. Почему я не могу просто выбрать удаленное репо, которое я создал? Это проблема №1.

  2. Двигаясь дальше на вкладке настроить, я теперь вынужден определить четыре (4) виртуальных репозитория для выпусков/моментальных снимков/выпусков подключаемых модулей/моментальных снимков подключаемых модулей. Почему? Какое это имеет отношение к тому, что я просто хочу загрузить зависимости из этого удаленного репо? Я понимаю назначение виртуальных репозиториев, но никоим образом не хочу/не должен их использовать в данный момент. Разве они не должны быть функцией удобства/логистики, а не обязательным компонентом? Это проблема №2.

Являются ли эти проблемы просто плохо разработанным графическим интерфейсом «настроить меня», и мне не требуется вводить какую-либо эту информацию. Я могу просто получить шаблон, удалить все ненужное и загрузить зависимости прямо из моего первоначально созданного удаленного репо?

Или я полностью упустил некоторые предварительные условия, и если да, то может ли кто-нибудь пролить свет на то, почему эти компоненты необходимы для загрузки файла шаблона settingsl.xml?

Интерфейс Artifactory "Set me up" для репозитория Maven не позволяет мне генерировать settings.xml без предварительной идентификации развертывания и виртуальных репозиториев

Заранее спасибо,

Не удалось выполнить цель org.apache.maven.plugins
Не удалось выполнить цель org.apache.maven.plugins
Опишу, что когда я только начинал изучать Maven, у меня не получалось компилировать и упаковывать.
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
1
0
34
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я собираюсь ответить на это сам сейчас, когда я решил это. Надеюсь, это поможет другим.

Я довольно сильно зациклился на этом и хочу поделиться своими выводами. В Artifextory есть кнопка «Настроить меня» в правом верхнем углу экрана выбора репозитория. Эта кнопка упоминается в нескольких онлайн-ресурсах как отправная точка при настройке артефакта для загрузки ваших зависимостей maven. Однако в онлайн-статьях не упоминается, что эта кнопка используется для создания шаблона, который позволяет гораздо больше, чем просто загрузка зависимостей. Он также настраивает вас на развертывание и использование виртуальных артефактных репозиториев. В результате, чтобы использовать эту функцию, у вас уже должен быть репозиторий развертывания и хотя бы один виртуальный репозиторий, настроенный в артефакте. Это создает ложное предположение, что эти элементы необходимы для использования артефактов в качестве прокси для загрузки зависимостей. Это неверно. Смотри ниже.

Вы можете вообще пропустить эту кнопку «настроить меня» и вместо этого напрямую настроить файл settings.xml на стороне maven. Этот метод чище и проще для начинающих. Если вам нужна отправная точка для maven settings.xml, существуют бесплатные шаблоны, которые вы можете использовать для запуска. Вот рабочий пример шаблона для справки, чтобы вы начали.

<?xml version = "1.0" encoding = "UTF-8"?>
<settings xsi:schemaLocation = "http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd" xmlns = "http://maven.apache.org/SETTINGS/1.2.0"
    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance">
    
  <servers>
    <server>
      <id>myRepository</id>
      <username>JohnDoe</username>
      <password>****</password>
    </server>  
    <server>
      <id>myPluginRepository</id>
      <username>JohnDoe</username>
      <password>****</password>
    </server>
  </servers>
  
  <profiles>
    <profile>
      <id>artifactory_default_profile</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      
      <repositories>
        <repository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2/</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
        <repository>
          <id>myRepository</id>
          <name>joeytest-maven-libs-virtual</name>
          <url>https://artifactory.dev.{myorg}.com:443/artifactory/joeytest-maven-libs-virtual/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>        
        </repository>
      </repositories>
      
      <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2/</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
        <pluginRepository>
          <id>myPluginRepository</id>
          <name>joeytest-maven-libs-virtual</name>
          <url>https://artifactory.dev.{myorg}.com:443/artifactory/joeytest-maven-libs-virtual/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>        
        </pluginRepository>
      </pluginRepositories>
      
    </profile>
  </profiles>
  
  <activeProfiles>
    <activeProfile>artifactory_default_profile</activeProfile>
  </activeProfiles>
  
</settings>

Этот шаблон делает 2 вещи:

  • Отключает центральное расположение загрузки maven по умолчанию, поэтому оно не будет использоваться.
  • Инструктирует Maven использовать артефакты для загрузки всего для сборок maven.

Все, что вам нужно для использования артефакта в качестве прокси для загрузки зависимостей, — это хотя бы один удаленный репозиторий, созданный в артефакте, который имеет действительный URL-адрес для исходных артефактов извне. Помимо этого, если хотите, вы можете создать репозитории развертывания для своих сборок и/или создать виртуальные репозитории для объединения других артефактных репозиториев, но эти шаги совершенно необязательны.

Джоуи, не могли бы вы указать, какой инструмент использует это отображение «настроить меня»? Мне непонятно, это экран IntelliJ или какое-то другое программное обеспечение. Я думаю, что знание того, какое программное обеспечение обеспечивает этот дисплей, поможет многим людям, у которых может быть такая же / похожая проблема, и это поможет другим, которые также могут предложить лучшее решение.

Edwin Buck 23.03.2022 20:58

Спасибо @EdwinBuck, я пояснил, что это для артефактов, и добавил этот язык в исходный пост.

Joey 24.03.2022 21:06

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