当前位置: 首页 > 知识库问答 >
问题:

将Github包添加到maven

杨骏
2023-03-14

几天前,我为一个java库创建了一个Github包。现在我想将Github包中的依赖项添加到另一个Maven项目中,但出现以下错误:

无法传输工件io。geilehner:StoryBlokJavaSDK: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.pom400错误请求

我的~/。m2/设置。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

#编辑

在调整我的设置之后。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>

并使用命令检索Allen D建议的包。我收到以下错误消息:

[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]

共有1个答案

花阳秋
2023-03-14

显式地将存储库添加到URL。

在您的settings.xml:

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

(根据需要设置快照…)

在你POM:

<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>
 类似资料:
  • 所以,我有一个配置了包注册表的GitHub项目。它有两个包: 包页面只有Maven的说明,除此之外,说明被破坏了(不是在Maven中添加依赖项的有效方法): 问题是:如何在Gradle构建中添加该包?

  • 但是,我在Github文档的任何地方都找不到关于要填充的endpoint和数据的适当概述。 以下字段为必填字段: 发行人->? 我到处都找不到Jwks uri。如有任何帮助,我们将不胜感激。

  • 我正在尝试将https://github.com/orgs/dke-data/packages中的包添加到我的ASP.NET项目中。这是我试过的东西 下载package.nupkg文件并将该位置添加到包管理器源代码中,但它不允许我安装包。 将PackageReference添加到.csproj文件并执行还原-不工作 由于这些软件包是公开可用的,难道没有一种直接的方法将它们添加到我的软件包中吗? 感

  • 我在自己的GitHub存储库中有一个Phonegap/Cordova插件,我想将此插件添加到GitHub上的Phonegap插件存储库中https://github.com/phonegap/phonegap-plugins.我怎样才能做到这一点? 编辑 Phonegap插件库说: 我们不想再用代码“搅乱”这份回购协议。作者应该在自己的repos中维护代码,只需在自述中放置一个指针。本回购协议中的

  • 问题内容: 我有一个通用的控件类,需要根据视图控制器来设置按钮的完成方式。由于setLeftButtonActionWithClosure函数需要将一个闭包作为参数来设置,因此应该将其设置为取消按钮的动作。在Swift中怎么可能因为我们需要将函数名称作为String传递给action:参数。 问题答案: 注意:就像@EthanHuang一样,“如果您有两个以上的实例,则此解决方案将不起作用。所有操