Добавить пакет Github в maven

Несколько дней назад я создал пакет Github для библиотеки java. Теперь я хотел добавить зависимость от пакетов Github к другому проекту Maven, но получаю следующую ошибку:

Не удалось передать артефакт io.geilehner: storyblok-java-sdk: pom: 1.0.1 из / в github (https://maven.pkg.github.com/geilix10/): не удалось выполнить передачу для https://maven.pkg.github.com/geilix10/io/geilehner/storyblok-java.-sdk/1.0.1/storyblok-java-sdk-1.0.1.pom 400 Неверный запрос

Мой ~ / .m2 / settings.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                          http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <servers>
        <server>
          <id>github</id>
          <username>geilix10</username>
          <password>ghp__ PERSONAL_ACCESS_TOKEN....</password>
        </server>
      </servers>
    </settings>

Мой pom.xml из проекта, в который я хочу добавить свой пакет.

<repositories>
    <repository>
        <id>github</id>
        <url>https://maven.pkg.github.com/geilix10/</url>
    </repository>
</repositories>

и сама зависимость:

<dependency>
            <groupId>io.geilehner</groupId>
            <artifactId>storyblok-java-sdk</artifactId>
            <version>1.0.1</version>
        </dependency>

Мне нужен тег репозитория в pom.xml, потому что позже GitHub Actions должны построить этот проект, иначе пакет не будет найден. Ссылка на пакет: https://github.com/geilix10/storyblok-java-sdk/packages/716104?version=1.0.1

#Редактировать

После настройки моего settings.xml на (как было предложено):

<?xml version="1.0" encoding="UTF-8"?>
<settings>
    <activeProfiles>
        <activeProfile>default</activeProfile>
    </activeProfiles>
    <servers>
        <server>
            <id>github</id>
            <username>geilix10</username>
            <password>TOKEN</password>
        </server>
    </servers>
    <profiles>
        <profile>
            <id>default</id>
            <repositories>
                <repository>
                    <id>github</id>
                    <name>GitHub Apache Maven Packages</name>
                    <url>https://maven.pkg.github.com/geilix10/*</url>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
    </profiles>
</settings>

И мой pom.xml:

<repositories>
    <repository>
        <id>github</id>
        <url>https://maven.pkg.github.com/geilix10/storyblok-java-sdk/</url>
    </repository>
</repositories>
<dependency>
    <groupId>io.geilehner</groupId>
    <artifactId>storyblok-java-sdk</artifactId>
    <version>1.0.1</version>
</dependency>

И, используя команду для получения пакета, предложенного Алленом Д., я получаю следующее сообщение об ошибке:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:3.1.2:get (default-cli) on project regiolix: Couldn't download artifact: org.eclipse.aether.resolution.DependencyResolutionException: Failed to read artifact descriptor for io.geilehner:storyblok-java-sdk:jar:1.0.1: Could not transfer artifact io.geilehner:storyblok-java-sdk:pom:1.0.1 from/to github (https://maven.pkg.github.com/geilix10/): Failed to transfer file https://maven.pkg.github.com/geilix10/io/geilehner/storyblok-java-sdk/1.0.1/storyblok-java-sdk-1.0.1.pom with status code 400 -> [Help 1]

person Markus G.    schedule 12.04.2021    source источник


Ответы (1)


Явно добавьте свой репозиторий в URL-адреса.

В вашем settings.xml:

      <repositories>                                                            
        ...                                                           
        <repository>                                                            
          <id>github</id>                                                                         
          <url>https://maven.pkg.github.com/geilix10/*</url>                  
          <snapshots>                                                           
            <enabled>true</enabled>                                             
          </snapshots>                                                          
        </repository>
        ...

(Настройка снимков по мере необходимости ...)

В вашем ПОМ:

<repositories>
    <repository>
        <id>github</id>
        <url>https://maven.pkg.github.com/geilix10/storyblok-java-sdk/</url>
    </repository>
</repositories>

Для справки см. https://github.com/allen-ball/ganymede.

Мне удалось загрузить ваш артефакт с помощью:

mvn dependency:get -DremoteRepositories=https://maven.pkg.github.com/geilix10/storyblok-java-sdk -Dartifact=io.geilehner:storyblok-java-sdk:1.0.1

после обновления моего файла settings.xml следующим образом:

<?xml version="1.0" encoding="UTF-8"?>                                          
<settings ...>                                                                  
  <activeProfiles>                                                              
    <activeProfile>default</activeProfile>                                      
  </activeProfiles>                                                             
  <servers>                                                                     
    <server>                                                                    
      <id>github</id>                                                           
      <username>allen-ball</username>                                           
      <password>REDACTED</password>                                             
    </server>                                                                   
    ...                                                                         
  </servers>                                                                    
  <profiles>                                                                    
    <profile>                                                                   
      <id>default</id>                                                          
      ...                                                                       
      <repositories>                                                            
        ...                                                                     
        <repository>                                                            
          <id>github</id>                                                       
          <name>GitHub Apache Maven Packages</name>                             
          <url>https://maven.pkg.github.com/geilix10/*</url>                    
          <snapshots>                                                           
            <enabled>true</enabled>                                             
          </snapshots>                                                          
        </repository>                                                           
        ...                                                                     
      </repositories>                                                           
      ...                                                                       
    </profile>                                                                  
  </profiles>                                                                   
</settings>
person Allen D. Ball    schedule 12.04.2021
comment
К сожалению, отображается то же сообщение об ошибке. Не удалось передать артефакт io.geilehner: storyblok-java-sdk: pom: 1.0.1 из / в github (maven.pkg.github.com/geilix10/storyblok-java-sdk): не удалось выполнить передачу для maven.pkg.github.com/geilix10/storyblok -java-sdk / io / geilehner / 400 неверный запрос. Просто любопытно ... а можно ли его установить? - person Markus G.; 12.04.2021
comment
Обновленный ответ выше. - person Allen D. Ball; 12.04.2021
comment
обновлен стартовый пост. - person Markus G.; 13.04.2021
comment
Извините - я в недоумении. Единственное практическое различие в моей конфигурации заключается в том, что мой PAT зашифрован мастер-паролем Maven в моем settings.xml, но я не понимаю, какое это имеет значение. Я предлагаю вам проверить свой PAT, убедиться, что package: read установлен, и возможно восстановить со всеми привилегиями в качестве эксперимента. - person Allen D. Ball; 13.04.2021