Error Could not find method compile (ECFMC)

At first I tried executing some  .sql scripts, then deploying it as a web app using  gradle tomcat plugin, but when I started it with run gradle what happened was an error like this.

Here is my 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'
}
}

in build.gradle there are also some tasks and apply plugins. What is going on?

Solution

It turns out that the build script mess is due to mixed code with buildscript dependencies, for example:

  • the build dependencies themselves; meaning Gradle plugins
  • mixed with regular dependencies (code to compile/run).

Need to be enclosed in curly brackets dependencies {...}

Not in buildscript { dependencies {...} }

Whatever it is, what is clear is  classpath that dependencies are regular dependencies.

So  buildscript it can only be placed in  classpath dependencies.


Post a Comment

Previous Next

نموذج الاتصال