Gradle 并添加 github 项目作为依赖项,一些说明
Gradle and adding github projects as dependencies, some clarifications
我是 Gradle 的新手,我遵循了一些教程并阅读了 wiki 和指南,但我仍然有一些问题无法清楚地找到答案。
我想得到的是关于 Gradle 和一般 github 项目依赖关系的一些说明。
阅读 this question,他提到了以下示例:
dependencies {
mavenCentral()
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:+'
}
我得到com.github.chrisbanes.actionbarpulltorefresh
,它基本上是com.github.username.repository
,但是extra-abc
和+
到底代表什么?
在 gradle irc 上,他们说第一个是神器,他们给了我 this,上面写着:Dependency configurations are also used to publish files
.. 但我还是不明白。 . 哪些文件以及您想要这样做的目的?我想 artifacts 应该是指罐子,但为什么要给它起个名字 (extra-abc
)?
+
取代了通常版本所在的位置,所以我认为它应该表示最新版本,不是吗?
此外,我粘贴的示例对 gradle 和托管在 github 上的普通 (netbeans) 项目都有效,还是我们必须加以区分?
我正在使用带 gradle 插件的 Netbeans 8.02。
抱歉提出愚蠢的问题,但我真的很想澄清我的疑虑。
首先,this library 不再维护。您应该使用支持库。
I get com.github.chrisbanes.actionbarpulltorefresh, it is basically com.github.username.repository,
不正确。
这个库发布在 Maven Central 上。
com.github.chrisbanes.actionbarpulltorefresh
是您可以在 Maven 上找到的工件的 groupId。
but what do exactly represent extra-abc
extra-abc
是 Maven 上的工件(库的名称...)的名称。
在这里你可以找到the full list。
|GroupId |ArtifactId| Latest Version|
|--------------------------------------------|----------|-----------------|
|com.github.chrisbanes.actionbarpulltorefresh|library | 0.9.9|
|com.github.chrisbanes.actionbarpulltorefresh|extra-abs | 0.9.9|
|com.github.chrisbanes.actionbarpulltorefresh|extra-abc | 0.9.9|
and the +
表示gradle使用最新版本。
在您的情况下,您可以使用其中之一:
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:+'
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:0.+'
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:0.9.+'
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:0.9.9'
注意,使用 +
通常不是一个好主意,因为您无法知道您使用的是什么版本。
在这种情况下,由于该库已被弃用,所以这不是问题。
编辑
如果问题是 我如何添加一个 github 项目,该项目不存在于 maven 存储库中作为对我的项目的引用?
请参考:
我是 Gradle 的新手,我遵循了一些教程并阅读了 wiki 和指南,但我仍然有一些问题无法清楚地找到答案。
我想得到的是关于 Gradle 和一般 github 项目依赖关系的一些说明。
阅读 this question,他提到了以下示例:
dependencies {
mavenCentral()
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:+'
}
我得到com.github.chrisbanes.actionbarpulltorefresh
,它基本上是com.github.username.repository
,但是extra-abc
和+
到底代表什么?
在 gradle irc 上,他们说第一个是神器,他们给了我 this,上面写着:Dependency configurations are also used to publish files
.. 但我还是不明白。 . 哪些文件以及您想要这样做的目的?我想 artifacts 应该是指罐子,但为什么要给它起个名字 (extra-abc
)?
+
取代了通常版本所在的位置,所以我认为它应该表示最新版本,不是吗?
此外,我粘贴的示例对 gradle 和托管在 github 上的普通 (netbeans) 项目都有效,还是我们必须加以区分?
我正在使用带 gradle 插件的 Netbeans 8.02。
抱歉提出愚蠢的问题,但我真的很想澄清我的疑虑。
首先,this library 不再维护。您应该使用支持库。
I get com.github.chrisbanes.actionbarpulltorefresh, it is basically com.github.username.repository,
不正确。
这个库发布在 Maven Central 上。
com.github.chrisbanes.actionbarpulltorefresh
是您可以在 Maven 上找到的工件的 groupId。
but what do exactly represent extra-abc
extra-abc
是 Maven 上的工件(库的名称...)的名称。
在这里你可以找到the full list。
|GroupId |ArtifactId| Latest Version|
|--------------------------------------------|----------|-----------------|
|com.github.chrisbanes.actionbarpulltorefresh|library | 0.9.9|
|com.github.chrisbanes.actionbarpulltorefresh|extra-abs | 0.9.9|
|com.github.chrisbanes.actionbarpulltorefresh|extra-abc | 0.9.9|
and the +
表示gradle使用最新版本。 在您的情况下,您可以使用其中之一:
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:+'
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:0.+'
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:0.9.+'
compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:0.9.9'
注意,使用 +
通常不是一个好主意,因为您无法知道您使用的是什么版本。
在这种情况下,由于该库已被弃用,所以这不是问题。
编辑
如果问题是 我如何添加一个 github 项目,该项目不存在于 maven 存储库中作为对我的项目的引用?
请参考