Gradle文件构建脚本块

Gradle文件构建脚本块,gradle,build.gradle,Gradle,Build.gradle,我正在尝试使用gradle构建我的项目。 我有如下de build.gradle文件: plugins { id "fr.putnami.gwt" version "0.4.0" id "info.solidsoft.pitest" version "1.3.0" } buildscript { repositories { mavenCentral()

我正在尝试使用gradle构建我的项目。 我有如下de build.gradle文件:

plugins {
    id "fr.putnami.gwt" version "0.4.0"
    id "info.solidsoft.pitest" version "1.3.0"
    }

buildscript {

  repositories {
        mavenCentral() 
        maven {
            url 'https://plugins.gradle.org/m2/'
        }
  }
  dependencies {
  
    testCompile 'junit:junit:4.12'
    testCompile 'org.easymock:easymock:2.5.2'
    testCompile 'com.google.gwt:gwt-dev:2.8.1'
    compile 'net.sourceforge.plantuml:plantuml:8001'
    classpath 'gradle.plugin.de.fntsoftware.gradle:markdown-to-pdf:1.1.0'
  }
  

}
    
    apply plugin: 'war'
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'jacoco'
    apply plugin: 'de.fntsoftware.gradle.markdown-to-pdf'

当我尝试执行构建任务时,我总是得到:

所有构建脚本{}块必须出现在脚本中任何插件{}块之前

我已经试着将第一块插件放在buildscriptone中,但是没有任何效果。有人能帮我吗

感谢您发送错误消息:

所有构建脚本{}块必须出现在脚本中任何插件{}块之前

说明需要执行的操作:将buildscript块移到plugins块之前。例如

buildscript{
存储库{…}
依赖项{…}
...
}
插件{
...
}
不要把一个放在另一个里面

然而,不管顺序如何,我认为您首先没有正确使用这两个块

首先,
buildscript
块用于配置实际脚本中使用的依赖项,而不是用于构建项目的依赖项。所以像junit或easymock这样的东西在这里没有意义。您很可能希望将依赖项块放在外部,因为它们是用于项目的

其次,
plugins
块可以看作是编写
apply plugin
的一种新的更简单的方法,通常不需要配置buildscript类路径。您应该尽可能地使用它,而不是使用更老、更冗长的方式。如果您对如何以更新的方式编写第三方插件有疑问,请在中查找并阅读其中的说明

请尝试以下方法:

插件{
id‘java’
“战争”
“杰科科”
id‘eclipse’
id“fr.putnami.gwt”版本“0.4.0”
id“info.solidsoft.pitest”版本“1.3.0”
id“de.fntsoftware.gradle.markdown to pdf”版本“1.1.0”
}
存储库{
mavenCentral()
}
依赖关系{
testCompile'junit:junit:4.12'
testCompile'org.easymock:easymock:2.5.2'
testCompile'com.google.gwt:gwt-dev:2.8.1'
编译“net.sourceforge.plantuml:plantuml:8001”
}
还请注意,不再维护,但具有(此时为相对)


另外,
compile
也不推荐使用,如果您的Gradle版本和插件支持它,您应该使用
implementation

谢谢,它工作得很好!:)