找不到ID为'org.ajoberstar.grgit'的插件

时间:2019-08-30 07:10:47

标签: gradle build.gradle grgit

我正在尝试编译名为VeinMiner的开源Minecraft Mod。
我使用./gradlew build进行编译。
但是失败了,这给了我这个原因:

FAILURE: Build failed with an exception.

* Where:
Build file '/home/xxxx/Desktop/VeinMiner/build.gradle' line: 26

* What went wrong:
A problem occurred evaluating root project 'VeinMiner'.
> Plugin with id 'org.ajoberstar.grgit' not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 14.778 secs

我尝试再次git clone它或在sudo中运行它。
但是,这两个都不起作用。

此构建过程如下:
(时间太长,所以我选择了其中的一部分)

buildscript {
    repositories {
        mavenCentral()
        maven {
            name = "forge"
            url = "http://files.minecraftforge.net/maven"
        }
        maven {
            name = "sonatype"
            url = "https://oss.sonatype.org/content/repositories/snapshots/"
        }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
    }
}

plugins {
    id 'com.matthewprenger.cursegradle' version '1.0.7'
    id 'org.ajoberstar.grgit' version '1.3.2'
}

apply plugin: 'forge'
apply plugin: 'maven'
apply plugin: "org.ajoberstar.grgit"
apply plugin: "com.matthewprenger.cursegradle"

ext.git = grgit.open(file('.'))

ext {
    configFile = file "build.properties"

    revision = git.head().abbreviatedId
    depth = git.log().size()
}

我希望构建成功。有人遇到过这种情况吗?

1 个答案:

答案 0 :(得分:0)

上述插件org.ajoberstar.grgit被应用了两次。第一次通过新的plugins块应用它,第二次通过旧的apply plugin:方法应用它。只需删除apply plugin: "org.ajoberstar.grgit"行,错误就会消失。

要通过旧的apply plugin:方法应用插件,需要从buildscript块内的任意存储库解析插件包。这与通过正常的repositoriesdependencies块解决项目依赖项的方式相同。

新的plugins块直接解析来自Gradle plugin portal的插件,并在同一步骤中应用它们。

我猜想将如何应用于插件的方式已更改为较新的方式,但是并未删除旧方法。在现有设置中,该插件可能已从本地Gradle缓存中解析出来,但在新设置中找不到该插件。