【发布时间】:2013-12-08 07:42:58
【问题描述】:
如何从其 GitHub 存储库(该库使用 Maven 作为构建系统)添加一个 Java 库作为我的 Maven 项目的依赖项?我可以在不下载和编译库的情况下这样做吗?
【问题讨论】:
-
这应该会有所帮助:stackoverflow.com/q/8871056/1180621
标签: java maven github dependencies
如何从其 GitHub 存储库(该库使用 Maven 作为构建系统)添加一个 Java 库作为我的 Maven 项目的依赖项?我可以在不下载和编译库的情况下这样做吗?
【问题讨论】:
标签: java maven github dependencies
目前没有办法做到这一点,除非库的维护者提供了一种方法来做到这一点。
所以在库的标题页上应该是包含存储库地址的指令,例如:
<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.org 或 raw.github.com。
仅供参考,这是一种为您的 gihub 工件提供 repo 的方法:Hosting a Maven repository on github。
【讨论】:
pom.xml 并尝试通过其“地址”访问此工件
现在您可以使用 JitPack 从 GitHub 存储库导入 Java 库。 在你的 pom.xml 中:
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.User</groupId>
<artifactId>Repo name</artifactId>
<version>Release tag</version>
</dependency>
之所以有效,是因为 JitPack 会检查代码并构建它。所以你最终会下载 jar。
如果项目没有 GitHub 版本,则可以使用提交 ID 作为版本。
【讨论】:
https://github.com/mongodb/mongo-java-driver,会怎样? Maven 不接受<groupId>com.github.mongodb</groupId>。
Jitpack 的另一个优点是,它在主页上有一个查找按钮。如果您键入 GitHub 存储库的 URL,它会显示源代码的不同提交,您可以选择您想要的提交/标记。 Jitpack 为您创建 pom 依赖项。
它变得非常简单。
【讨论】:
您可以按照上面的步骤将Jar文件正确部署到github。
【讨论】: