无法使用本地Nexus存储库中的gradle插件

时间:2018-04-13 07:06:05

标签: java git gradle dependencies nexus

我正在尝试使用gradle脚本中的grgit插件。我有一个在构建期间由我们的CI服务器修改的文件,我希望将其作为构建过程的一部分提交到git repo。

我有一个本地Nexus repo,它有一个代理maven central。如何通过我的Nexus repo访问gradle插件?目前,我有:

buildscript {
    repositories {
        maven {
            url "http://my-nexus:6666/nexus/content/groups/public/"
        }
    }

    dependencies {
        classpath "org.ajoberstar:grgit:1.7.2"
    }
}

apply plugin: "org.ajoberstar.grgit"

这会从Nexus下载相关性,但在执行> Plugin with id 'org.ajoberstar.grgit' not found.时会产生gradle build

我已阅读有关custom plugin repositories的文档,但更喜欢旧方法而不是DSL方法,因为我有数百个项目,并且不希望在每个settings.gradle文件中定义存储库,因为在时刻pluginRepositories只能在settings.gradle文件中指定。

如何让apply plugin方法起作用?

1 个答案:

答案 0 :(得分:0)

那是因为您使用的Grgit库的版本没有包含Gradle插件。只有较新的版本,不在maven central或jcenter中(仅在Gradle插件库中)。

你有两种解决方法

a)更改库:

buildscript {
    repositories {
        maven {
            url "http://my-nexus:6666/nexus/content/groups/public/"
        }
    }

    dependencies {
        classpath "org.ajoberstar:gradle-git:1.7.2"
    }
}

apply plugin: "org.ajoberstar.grgit"

b)镜像本地Nexus repo中的gradle-plugins存储库 https://plugins.gradle.org/m2/以及2.1.1 grgit

的版本