Ich versuche, ein EAR von einem Java-Multi-Projekt zu bauen. Es gibt drei verschiedene WAR Projekte und mehrere JAR Projekte in diesem Projekt. Wenn ich das Projekt alle Abhängigkeiten von JAR bauen importiert in Ohr-lib und alle Abhängigkeiten von WAR Projekte importiert werden in ihre jeweiligen WEB-INF/lib. Aber alle WAR Projekte verwendet viele gemeinsame Abhängigkeiten. Mit all diesen Abhängigkeiten wird das Ergebnis EAR sehr groß (> 100 mb). Gibt es eine Möglichkeit, alle Abhängigkeiten in eine EAR Datei und keine in den WAR Dateien hinzuzufügen.Gradle Ear Build mit Abhängigkeiten von Krieg Datei
Meine EAR build.gradle wie wie unten aussieht ..
apply plugin: 'ear'
apply plugin: 'java'
configurations {
earLib.extendsFrom runtime
earLib.transitive = true
}
description = 'JavaEE6 Assembly'
dependencies {
deploy project(path: ':WAR1', configuration: 'archives')
deploy project(path: ':WAR2', configuration: 'archives')
deploy project(path: ':WAR3', configuration: 'archives')
earlib project(':CommonJAR1')
earlib project(':CommonJAR2')
// Writing as below does not work in this case
// earLib group: 'io.springfox', name: 'springfox-swagger2', version:'2.1.1'
}
ear {
archiveName='EARNAME.ear'
libDirName 'lib'
into("META-INF"){
from("META-INF")
}
}
Es folgt einer der WAR Datei build.gradle
apply plugin: 'war'
description = 'WAR2'
dependencies {
compile project(':CommonJAR1')
compile group: 'commons-beanutils', name: 'commons-beanutils', version:'1.9.2'
compile group: 'org.springframework', name: 'spring-jdbc', version:'4.0.5.RELEASE'
compile group: 'org.springframework', name: 'spring-core', version:'4.0.5.RELEASE'
compile group: 'org.springframework', name: 'spring-beans', version:'4.0.5.RELEASE'
compile group: 'org.springframework', name: 'spring-webmvc', version:'4.0.5.RELEASE'
compile group: 'org.springframework', name: 'spring-oxm', version:'4.0.5.RELEASE'
compile group: 'org.springframework', name: 'spring-orm', version:'4.0.5.RELEASE'
compile group: 'org.springframework', name: 'spring-context-support', version:'4.0.5.RELEASE'
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version:'2.2.3'
compile group: 'org.json', name: 'json', version:'20090211'
compile(group: 'org.springframework', name: 'spring-context', version:'4.0.5.RELEASE') {
exclude(module: 'commons-logging')
}
compile group: 'org.aspectj', name: 'aspectjrt', version:'1.7.4'
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.5'
compile(group: 'log4j', name: 'log4j', version:'1.2.15') {
exclude(module: 'mail')
exclude(module: 'jms')
exclude(module: 'jmxtools')
exclude(module: 'jmxri')
}
compile group: 'javax.inject', name: 'javax.inject', version:'1'
compile group: 'javax.servlet', name: 'jstl', version:'1.2'
runtime group: 'io.springfox', name: 'springfox-swagger2', version:'2.1.1'
runtime group: 'org.springframework', name: 'spring-web', version:'4.0.5.RELEASE'
runtime group: 'org.slf4j', name: 'jcl-over-slf4j', version:'1.7.5'
runtime group: 'org.slf4j', name: 'slf4j-log4j12', version:'1.7.5'
providedCompile group: 'javax.servlet', name: 'servlet-api', version:'2.5'
providedCompile group: 'javax.servlet.jsp', name: 'jsp-api', version:'2.1'
}
ich die, die ich irgendwelchen Quellen versucht haben, könnte für das gleiche tun, aber keiner hat funktioniert. Bitte vorschlagen. Das Projekt soll auf WAS 8.5