我正在尝试在Ear文件中添加Web模块。我使用webModule(“:wars / myweb”,“/ mywebapp”)将它放在我的自定义部署描述符中。它不包括ear文件中的war文件。它只是在生成的application.xml中添加了一个带有这些详细信息的条目。
您能否使用自定义部署描述符帮助将Web模块包含在耳中?
我的耳朵任务在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')
}
}
与build.gradle在同一个目录中的我的settings.xml看起来像这样
include "wars/myweb"
感谢您的帮助。
答案 0 :(得分:2)
我使用这种方式将战争依赖关系绑定到webModules。 warMap提供了工件id和上下文路径之间的连接:
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)
}
}
}