java ee - How does Gradle resolve the javaee-api dependency to build an EAR? -
i see there's ear
plugin gradle. how used build ear
? yes, there's ear
task. build ear
ejb
module there's dependency on java-ee.
how dependency resolved?
https://virgo47.wordpress.com/2015/05/13/why-gradle-doesnt-provide-provided/
http://www.lordofthejars.com/2015/10/gradle-and-java-ee.html
http://www.adam-bien.com/roller/abien/entry/the_only_one_dependency_you
i don't mind reading fine manual -- please specify chapter @ least rather rtfm because fine manual states:
51.4. dependency management
the ear plugin adds 2 dependency configurations: deploy , earlib. dependencies in deploy configuration placed in root of ear archive, , not transitive. dependencies in earlib configuration placed in 'lib' directory in ear archive , transitive.
to reading doesn't explain in concrete fashion how java-ee
dependency resolved.
project (rough):
gradleear/ ├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src ├── main │ ├── java │ │ └── net │ │ └── bounceme │ │ └── doge │ │ ├── ejb │ │ │ ├── newsessionbean.java │ │ │ └── newsessionbeanremote.java │ │ └── json │ │ ├── jsonreaderclient.java │ │ ├── jsonreader.java │ │ ├── main.java │ │ ├── marshaller.java │ │ ├── marshalljson.java │ │ ├── objecta.java │ │ └── propertiesreader.java │ └── resources │ ├── foo.json │ ├── json.json │ └── properties.properties └── test └── java 13 directories, 18 files
build file (broken dependencies):
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' { configurations.compile.collect { it.isdirectory() ? : ziptree(it) } } 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' /* provided group: 'javax', name: 'javaee-api', version: '7.0' provided 'javax:javaee-api:7.0' providedcompile 'javax:javaee-api:7.0' */ }
each attempt resolve dependency creates different errors.
what's correct syntax resolve javaee-api
dependency? please refer me manual.
Comments
Post a Comment