0

我正在尝试编译一个名为VeinMiner.
./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 中运行它。
但是,这两个都不起作用。

这个 build gradle 是这样
的:(太长所以我选择了一部分)

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()
}

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

4

1 回答 1

2

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

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

plugins块直接从Gradle 插件门户解析插件,并在同一步骤中应用它们。

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

于 2019-08-30T07:27:36.807 回答