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 сек

Другие вопросы по тегам