Gradle - веб-модуль в дескрипторе развертывания
Я пытаюсь добавить веб-модуль в файл Ear. Я поместил его в свой собственный дескриптор развертывания, используя webModule(":wars/myweb","/mywebapp"). Он не включает файл war в файл ear. Это просто добавление записи в сгенерированный файл application.xml с этими подробностями.
Не могли бы вы помочь включить веб-модуль в ухо, используя настраиваемый дескриптор развертывания?
Моя задача на ухо выглядит так в build.gradle
ear {
libDirName ''
deploymentDescriptor {
// custom entries for application.xml:
// fileName = "application.xml" // same as the default value
version = "1.4" // same as the default value
applicationName = "myapp"
initializeInOrder = true
displayName = "myear" // defaults to project.name
description = "EAR for the basic package" // defaults to project.description
webModule(':wars/myweb','/mywebapp')
}
}
Мой файл settings.xml в том же каталоге, что и build.gradle, выглядит следующим образом
include "wars/myweb"
Ценю твою помощь.
2 ответа
Я использую этот способ, чтобы связать военные зависимости с веб-модулями. WarMap обеспечивает связь между идентификатором артефакта и контекстным путем:
Map warMap = [
'my-war': 'contextpath',
'my2-war': 'contextpath2'
}
dependencies {
warMap.each {
deploy project(":$it.key")
}
}
ear {
deploymentDescriptor {
warMap.each {
webModule(it.key + '-' + project.version + ".war", it.value)
}
}
}
Мой build.gradle выглядит примерно так
Map warMap = [
myweb': '/mywebapp'
]
dependencies {
warMap.each {
deploy project(":wars/$it.key"){
version = rootVersion
}
}
}
ear {
libDirName ''
deploymentDescriptor {
// custom entries for application.xml:
version = "1.4" // same as the default value
displayName = "myapp" // defaults to project.name
warMap.each {
webModule(it.key + '-' + project.version + ".war", it.value)
}
}
}
Теперь он не генерирует дескриптор deploymnent, и я получаю эту ошибку StackOverFlow. Любая помощь приветствуется.
FAILURE: сборка не удалась, исключение. * Что пошло не так: выполнение задачи "ухо" не удалось. Причина: java.lang.StackruError (без сообщения об ошибке) * Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить больше вывода журнала. СТРОИТЬ ОШИБКУ Общее время: 8,326 сек