Coming Up for Air

Gradle, 'provided' scope, and Java EE 7

Thursday, Aug 22, 2013 |

Gradle, 'provided' scope, and Java EE 7

Jason Lee 2013-08-22

Maven has a dependency scope, provided, that indicates that the dependency should not be in the archive. Gradle does not provide such a scope out of the box, but it's easy enough to add. The following Gradle build demonstrates a very bare-bones Java EE 7 web application setup:
apply plugin: 'war'

repositories {
    mavenCentral()
    mavenLocal()
}

configurations {
    provided
}
sourceSets {
    main { compileClasspath += configurations.provided }
}

dependencies {
    provided 'javax:javaee-api:7.0'
}