Gradle ухо помещает JAR вместо WAR
Я пытаюсь создать ухо с помощью Gradle.
У меня есть мое дерево проектов:
/project
|
|--> /web-application
| |
| |--> /src (stuff of web app)
| |
| |--> build.gradle
|
|--> build-gradle
|--> settings.gradle
Я пытаюсь создать ухо с помощью плагина уха, но когда я делаю gradle assemble
, у меня есть war, созданный в каталоге сборки веб- приложение, но внутри сгенерированного уха у меня есть jar веб-приложения.
Файлы конфигурации gradle очень просты, вот они:
project/build.gradle
apply plugin: 'ear'
repositories {
mavenCentral()
}
dependencies {
deploy project(':web-application')
earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
project/web-application/build.gradle
apply plugin: 'war'
repositories {
mavenCentral()
}
dependencies {
compile group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
Что я сделал не так?
Я замечаю, что также связанные образцы для плагина войны имеют ту же проблему...
Спасибо заранее
Ответы
Ответ 1
РЕШИТЬ!
Ему необходимо настроить модуль WAR внутри проекта EAR следующим образом:
dependencies {
deploy project(path:':web-application', configuration:'archives')
earlib group: 'log4j', name: 'log4j', version: '1.2.15', ext: 'jar'
}
Ответ 2
Вы можете не указывать конфигурацию для каждой зависимости для развертывания, используя что-то вроде этого:
allprojects {
plugins.withType(WarPlugin) {
// Set default configuration as WAR archive if WAR plugin is used
configurations {
'default' {
extendsFrom = [archives]
}
}
}
}
...
dependencies {
deploy project(':web-application')
}