Gradle: Could not find method providedCompile()
20,767
Solution 1
providedCompile
is shipped with war
plugin. So you need to add:
plugins {
// ...
id 'war'
}
Solution 2
You can get this error if you have a higher version of Gradle installed. For example you have:
gradle --version
giving
Gradle 5.0
but the project expects Gradle 2.10 or some other lower version of Gradle.
To solve this first try to use Gradle wrapper ./gradlew
(if included with project) instead of locally installed gradle. Or install a correct version of gradle and make it available using path variable.
Author by
Thufir
Updated on July 17, 2022Comments
-
Thufir almost 2 years
How are this and this build file able to use
providedCompile
?thufir@doge:~/NetBeansProjects/gradleEAR$ thufir@doge:~/NetBeansProjects/gradleEAR$ gradle clean FAILURE: Build failed with an exception. * Where: Build file '/home/thufir/NetBeansProjects/gradleEAR/build.gradle' line: 40 * What went wrong: A problem occurred evaluating root project 'gradleEAR'. > Could not find method providedCompile() for arguments [javax:javaee-api:7.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 12.721 secs thufir@doge:~/NetBeansProjects/gradleEAR$ plugins { id 'com.gradle.build-scan' version '1.8' id 'java' id 'application' id 'ear' } mainClassName = 'net.bounceme.doge.json.Main' buildScan { licenseAgreementUrl = 'https://gradle.com/terms-of-service' licenseAgree = 'yes' } repositories { jcenter() } jar { manifest { attributes 'Main-Class': 'net.bounceme.doge.json.Main' } } task fatJar(type: Jar) { baseName = project.name + '-all' from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } with jar manifest { attributes 'Implementation-Title': 'Gradle Quickstart', 'Implementation-Version': '3.4.0' attributes 'Main-Class': 'net.bounceme.doge.json.Main' } } dependencies { compile group: 'javax.json', name: 'javax.json-api', version: '1.1' compile group: 'org.glassfish', name: 'javax.json', version: '1.1' providedCompile 'javax:javaee-api:7.0' }
In reference to:
How does Gradle resolve the javaee-api dependency to build an EAR?