找不到参数的方法compile()

时间:2014-05-13 09:16:54

标签: gradle

我正在尝试执行一些.sql脚本,然后使用gradle tomcat plugin部署网络应用。

但是,当我尝试运行gradle时,我遇到了错误

enter image description here

我的buildscript看起来像这样

buildscript {
//repository location
repositories {
    mavenCentral()
    jcenter()
}
//dependencies
//did not divide them into runtime&compile
dependencies {
    //aspectJ dependencies
    compile 'org.aspectj:aspectjlib:1.6.2'
    compile 'org.aspectj:aspectjrt:1.7.4'
    compile 'org.aspectj:aspectjweaver:1.7.4'
    //servlet
    compile 'javax.servlet:javax.servlet-api:3.0.1'
    //jdbc postresql
    compile 'org.postgresql:postgresql:9.2-1004-jdbc4'
    //commons dbcp
    compile 'commons-dbcp:commons-dbcp:1.2.2' 
    //spring & spring MVC dependencies
    compile 'org.springframework:spring-core:' + spring_version
    compile 'org.springframework:spring-web:' + spring_version
    compile 'org.springframework:spring-webmvc:' + spring_version
    compile 'org.springframework:spring-jdbc:' + spring_version
    compile 'org.springframework:spring-aspects:' + spring_version
    //spring security
    compile 'org.springframework.security:spring-security-core:' + spring_security_version
    compile 'org.springframework.security:spring-security-web:' + spring_security_version
    compile 'org.springframework.security:spring-security-config:' + spring_security_version
    //JSTL
    compile 'jstl:jstl:1.2'
    //slf4j-log4j
    compile 'org.slf4j:slf4j-api:1.7.0'
    compile 'org.slf4j:slf4j-log4j12:1.7.0'
    compile 'log4j:log4j:1.2.17'
    //mybatis
    compile 'org.mybatis:mybatis:3.2.4'
    compile 'org.mybatis:mybatis-spring:1.2.2'
    //gson
    compile 'com.google.code.gson:gson:2.2.4'
    //validation jsr303
    compile 'javax.validation:validation-api:1.0.0.GA'
    //junit4(test?)
    compile 'junit:junit:4.11'
    //spring test(test?)
    compile 'org.springframework:spring-test:' + spring_version
    //java mail
    compile 'javax.mail:mail:1.4'

    //tomcat plugin
    def tomcatVersion = '7.0.53'
    tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}",
        "org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}"
    tomcat("org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}") {
        exclude group: 'org.eclipse.jdt.core.compiler', module: 'ecj'
    }

    //additional classpath
    classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:1.2.3'
    classpath 'org.postgresql:postgresql:9.2-1004-jdbc4'
}
}

build.gradle中,还有几项任务和多项apply plugin

有什么问题?完整堆栈跟踪

enter image description here

我的build.gradle位于项目文件夹中。

2 个答案:

答案 0 :(得分:36)

构建脚本混合了buildscript个依赖项(即

  1. 构建本身的依赖关系;通常这意味着Gradle插件
  2. 具有常规依赖性(即要编译/运行的代码的依赖性)。
  3. 2需要进入dependencies { ... },而不是进入buildscript { dependencies { ... } }

    除了classpath依赖项之外的所有内容都是常规依赖项。

答案 1 :(得分:2)

我有时会在Android Studio执行某些尝试自动将内容添加到build.gradle文件中的操作后出现此错误,然后它会在依赖项块中以引号或双引号结束。所以我最终得到了这样一条线:

def gpsVersion = '9.4.0'
compile "com.google.android.gms:play-services-wearable:${gpsVersion}" compile "com.google.android.gms:play-services-places:${gpsVersion}"

正如您所看到的,方法compile现在看起来很多。修复行间距和重新同步以修复它。