Артефакты «отсутствуют» при использовании Artifactory - PullRequest
0 голосов
/ 16 октября 2019

У меня есть проект Eclipse, который я пытаюсь построить с использованием Maven, с файлами JAR, которые находятся на моем частном сервере Artifactory, и несколько других репозиториев Maven.

В моем файле POM (до добавления репозитория Artifactory) у меня были указаны репозитории:

 <repositories>
 <repository>
    <id>third-party</id>
    <name>Atlassian 3rdParty</name>
    <url>https://repo.spring.io/plugins-release/</url>
 </repository>
 <repository>
    <id>ICM</id>
    <name>ICM Repository</name>
    <url>http://maven.icm.edu.pl/artifactory/repo/</url>
 </repository>
 </repositories>

Репозитории позволяют мне получить доступ к нескольким библиотекам, которые мне нужны для сборки, включая (но не исключительно):

      ...
    <dependency>
       <groupId>xerces</groupId>
       <artifactId>xerces</artifactId>
       <version>2.4.0</version>
   </dependency>     
   <dependency>
     <groupId>com.oracle</groupId>
     <artifactId>ojdbc6</artifactId>
     <version>11.2.0.3</version>
   </dependency>
   <dependency>
     <groupId>com.sun.mail</groupId>
     <artifactId>javax.mail</artifactId>
   </dependency>
       ...

У меня есть пара файлов JAR, к которым я хотел бы получить доступ с моего сервера Artifactory. Эти файлы находятся в репозитории, который я создал под названием Factor_Snapshot, и их два: factorbase-1.0.0.jar и lowerbase-1.0.0.jar.

Для того, чтобы получить все через Artifactory (правильно используяэто как прокси для репозиториев remore, я добавил эти репозитории в Artifactory. Затем я использовал ссылку «set me up» в попытке создать правильные записи для файла POM.

Одна вещь, которую я заметил, заключалась в том, чтоЯ не могу заставить сгенерированные записи включать репозиторий Factor_Snapshot. Кажется, сгенерированные записи включают только репозитории libs-release и libs-snapshot, которые были там раньше. Когда я нажимаю Generate Maven Settings и выбираю снимок, мне разрешают тольковыбрать libs-snapshot, gradle-dev, libs-release и т. д. Невозможно выбрать репозиторий моментальных снимков Factor_Snapshot. Сгенерированные настройки показаны ниже:

<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <servers>
    <server>
      <username>${security.getCurrentUsername()}</username>
      <password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
      <id>central</id>
    </server>
    <server>
      <username>${security.getCurrentUsername()}</username>
      <password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
      <id>snapshots</id>
    </server>
  </servers>
  <profiles>
    <profile>
      <repositories>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>libs-release</name>
          <url>http://192,168.1.230:8081/artifactory/libs-release</url>
        </repository>
        <repository>
          <snapshots />
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <url>http://192,168.1.230:8081/artifactory/libs-snapshot</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>libs-release</name>
          <url>http://192,168.1.230:8081/artifactory/libs-release</url>
        </pluginRepository>
        <pluginRepository>
          <snapshots />
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <url>http://192,168.1.230:8081/artifactory/libs-snapshot</url>
        </pluginRepository>
      </pluginRepositories>
      <id>artifactory</id>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>artifactory</activeProfile>
  </activeProfiles>
</settings>

Конечно, поскольку неткажется, файл settings.xml для размещения активных профилей в Eclipse, я сомневался, что я могувсе равно буду использовать этот файл. Также: неясно, как получить зашифрованные пароли, на которые есть ссылки в файле.

Я добавил следующие зависимости, основанные на том, как я их организовал на своем сервере Artifactory:

      ...
   <dependency>
      <groupId>com.factor3</groupId>
      <artifactId>lowerbase</artifactId>
      <version>1.0.0</version>
    </dependency>
   <dependency>
      <groupId>com.factor3</groupId>
      <artifactId>factorbase</artifactId>
      <version>1.0.0</version>
   </dependency>
       ...

Iповерьте, я их правильно настроил. Я получил сообщения об ошибках после сохранения файла POM, в котором говорилось, что артефакты lowerbase: jar и factorbase: jar отсутствуют. Это было ожидаемо, потому что я еще не включил декларацию репозитория.

В итоге я угадал объявление репо, поэтому я создал следующие записи в моем файле POM, основываясь на документации Artifactory и способе, которымРепозиторий был настроен:

 <repositories>
    <repository>
      <id>snapshots</id>
      <name>soliandisk</name>
     <url>http://192,168.1.230:8081/artifactory/Factor_Snapshot</url>
 </repository>
 <repository>
    <id>third-party</id>
    <name>Atlassian 3rdParty</name>
    <url>https://repo.spring.io/plugins-release/</url>
 </repository>
 <repository>
    <id>ICM</id>
    <name>ICM Repository</name>
    <url>http://maven.icm.edu.pl/artifactory/repo/</url>
 </repository>
 </repositories>

Но когда я добавил репозиторий Factor_Snapshot, теперь я получаю сообщения об ошибках: 1026 * all отсутствуют артефакты JAR-файла - даже артефакты факторической и нижней базы!

Я знаю, что чего-то не хватает в конфигурации, но я не знаю что.

Как настроить Artifactory и мой файл POM, чтобы я мог получить все необходимые JAR-файлы?

...