Gradle – Could not find method compileOnly
Git clone a new project, Gradle build and hits the following error message :
Terminal
$ gradle clean build
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/mkyong/Documents/workspace/hc2/web/build.gradle' line: 25
* What went wrong:
A problem occurred evaluating project ':web'.
> Could not find method compileOnly() for arguments [org.springframework.boot:spring-boot-starter-tomcat] on project ':web'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Using Gradle 2.4
Terminal
gradle -version
------------------------------------------------------------
Gradle 2.4
------------------------------------------------------------
Build time: 2015-05-05 08:09:24 UTC
Build number: none
Revision: 5c9c3bc20ca1c281ac7972643f1e2d190f2c943c
Groovy: 2.3.10
Ant: Apache Ant(TM) version 1.9.4 compiled on April 29 2014
JVM: 1.8.0_74 (Oracle Corporation 25.74-b02)
OS: Mac OS X 10.12.6 x86_64
Solution
The scope compileOnly
has been introduced since Gradle 2.12, to fix it, just upgrade Gradle to the latest version, like Gradle 4.1 which released on Aug 07, 2017.
According to Android Studio, I’m using Gradle Gradle 4.4 and and having the compileOnly problem
gg, eclipse gradle wrapper was using 2.12 so it couldnt interpret it.
Best wrapper.