Java 无法在gradle文件中导入build.gradle以外的第三方类

Java 无法在gradle文件中导入build.gradle以外的第三方类,java,gradle,intellij-idea,Java,Gradle,Intellij Idea,我想在gradle文件version.gradle中导入第三方类org.ajoberstar.grgit.grgit。但是,它给了我一个错误,即它无法解析org.ajoberstar.grgit.grgit类(我正在使用apply from:“version.gradle”in build.gradle)。但是如果我在build.gradle中导入它,它就可以正常工作。以下是我正在做的: build.gradle: plugins { id "org.ajoberstar.grgit" ve

我想在gradle文件
version.gradle
中导入第三方类
org.ajoberstar.grgit.grgit
。但是,它给了我一个错误,即它无法解析org.ajoberstar.grgit.grgit类(我正在使用
apply from:“version.gradle”
in build.gradle)。但是如果我在
build.gradle
中导入它,它就可以正常工作。以下是我正在做的:

build.gradle:

plugins {
  id "org.ajoberstar.grgit" version "1.5.0"
}
apply from: "version.gradle"

// Version of jar file.
version = 1.0

jar
 {
  destinationDir = file(JAR_DIR)
  from {
    (configurations.runtime).collect {
      it.isDirectory() ? it : zipTree(it)
    }
  }
  manifest {
    attributes 'Main-Class': 'com.awesomeness.Main'
  }
}

jar.dependsOn versionTxt

// Artifact dependecies.
    dependencies {
      compile files("$TOOLS/lib/grgit-1.5.0.jar")
      compile files("$TOOLS/lib/groovy-all-2.4.7.jar")
      compile files("$TOOLS/lib/org.eclipse.jgit-4.2.0.201601211800-r.jar")
    }
以下是version.gradle文件:

import org.ajoberstar.grgit.Grgit
//
import java.text.DateFormat

task versionTxt()  {
    doLast {
        Grgit grgit = Grgit.open()
        File file = new File("$buildDir/version.txt")
        file.write("")
        file.append("Version: $version")
        file.append("Branch: "+grgit.branch.current.trackingBranch.name)
        file.append("Build-Type: ")
        file.append("Build-Date: " + DateFormat.getDateInstance(DateFormat.SHORT).format(new Date((long)grgit.head().time*1000l)))
        file.append("Commit-Id: "+ grgit.head().abbreviatedId)
    }
}
我尝试了一些这样的链接:


但我无法解决这个问题。有什么帮助吗?

您需要使用
buildscript
块,使
org.ajoberstar.grgit
包类在使用它的Gradle脚本中可用:

version.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath("org.ajoberstar:grgit:1.5.0")
    }
}
import org.ajoberstar.grgit.Grgit
// .. rest of your build script