【问题标题】:Loading Maven dependencies from GitHub [duplicate]从 GitHub 加载 Maven 依赖项 [重复]
【发布时间】:2013-12-08 07:42:58
【问题描述】:

如何从其 GitHub 存储库(该库使用 Maven 作为构建系统)添加一个 Java 库作为我的 Maven 项目的依赖项?我可以在不下载和编译库的情况下这样做吗?

【问题讨论】:

标签: java maven github dependencies


【解决方案1】:

目前没有办法做到这一点,除非库的维护者提供了一种方法来做到这一点。

所以在库的标题页上应该是包含存储库地址的指令,例如:

<repositories>
    <repository>
        <id>YOUR-PROJECT-NAME-mvn-repo</id>
        <url>https://raw.github.com/YOUR-USERNAME/YOUR-PROJECT-NAME/mvn-repo/</url>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
        </snapshots>
    </repository>
</repositories>

还有一个依赖名:

<dependency>
     <groupId>...</groupId>
     <artifactId>...</artifactId>
     <version>...</version>
</dependency>

这意味着您项目的所有工件(包括您的依赖项)都将在此 repo 中搜索。

您还可以查看pom.xml 以检查是否有人努力将工件部署到远程存储库。通常情况下,关键字是 oss.sonatype.orgraw.github.com

仅供参考,这是一种为您的 gihub 工件提供 repo 的方法:Hosting a Maven repository on github

【讨论】:

  • 很多库不提供这个,这样就没用了
  • @tribbloid 我认为他们中的大多数都提供存储库,不是吗?只是为了能够使用 Maven 自动部署?
  • 这是关于如何对库供应商提供的部署进行逆向工程的简单说明。 raw.github.com 现在看起来已经过时了,所以必须有一些其他主机用于工件部署。要找出名称,您可以查看此库的 pom.xml 并尝试通过其“地址”访问此工件
【解决方案2】:

现在您可以使用 JitPack 从 GitHub 存储库导入 Java 库。 在你的 pom.xml 中:

  1. 添加存储库:
<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>
  1. 添加依赖项
<dependency>
    <groupId>com.github.User</groupId>
    <artifactId>Repo name</artifactId>
    <version>Release tag</version>
</dependency>

之所以有效,是因为 JitPack 会检查代码并构建它。所以你最终会下载 jar。
如果项目没有 GitHub 版本,则可以使用提交 ID 作为版本。

【讨论】:

  • 小记:如果贵公司使用Github Enterprise,则必须购买Jitpack Enterprise。
  • 如果它不使用 Maven 作为其构建系统,比如https://github.com/mongodb/mongo-java-driver,会怎样? Maven 不接受&lt;groupId&gt;com.github.mongodb&lt;/groupId&gt;
  • 它支持其他构建系统,如 Gradle/Sbt。 jitpack.io/#mongodb/mongo-java-driver
  • 太棒了。
【解决方案3】:

Jitpack 的另一个优点是,它在主页上有一个查找按钮。如果您键入 GitHub 存储库的 URL,它会显示源代码的不同提交,您可以选择您想要的提交/标记。 Jitpack 为您创建 pom 依赖项。

它变得非常简单。

【讨论】:

    【解决方案4】:

    Github 现在支持包 https://help.github.com/en/github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages

    您可以按照上面的步骤将Jar文件正确部署到github。

    【讨论】:

      猜你喜欢
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      • 2020-03-01
      • 1970-01-01
      相关资源
      最近更新 更多