Gradle:设置web应用程序的上下文根
我有两个Gradle项目,A是根项目,B是A的子项目 项目B生成一个Gradle:设置web应用程序的上下文根,gradle,jakarta-ee,ear,Gradle,Jakarta Ee,Ear,我有两个Gradle项目,A是根项目,B是A的子项目 项目B生成一个.war文件,该文件包含在项目a生成的.ear文件中 我想实现一个通用的解决方案,在这里我可以更改项目B的上下文根 根据我的研究,我应该调用ear.deploymentDescriptors.webModule(path,contextRoot)方法,其中path是ear中工件B的路径 如何从项目A中获得B工件的名称,以便调用上述方法 是否有更好的方法设置上下文根?假设项目a有一个build.gradle,在ear中,下面的代码
.war
文件,该文件包含在项目a生成的.ear
文件中
我想实现一个通用的解决方案,在这里我可以更改项目B的上下文根
根据我的研究,我应该调用ear.deploymentDescriptors.webModule(path,contextRoot)
方法,其中path
是ear中工件B的路径
如何从项目A中获得B工件的名称,以便调用上述方法
是否有更好的方法设置上下文根?假设项目a有一个build.gradle,在ear中,下面的代码可以解决这个问题-
plugins {
id 'ear'
}
dependencies {
deploy project(path:':b', configuration: 'archives')
}
ear{
/* some basis configuration */
libDirName 'APP-INF/lib'
deploymentDescriptor {
/* Some basic attributes */
fileName = "application.xml"
version = "8"
def Set<Project> subProj = project.getSubprojects();
subProj.each{proj ->
if(proj.name.contains("B")){
webModule(proj.name + "-" + proj.version + ".war", "/"+ proj.name)
} //if close
}//each close
}//deploymentDescriptor close
}//ear close
插件{
“耳朵”
}
依赖关系{
部署项目(路径:':b',配置:'存档')
}
耳朵{
/*一些基本配置*/
libDirName“APP-INF/lib”
部署描述符{
/*一些基本属性*/
fileName=“application.xml”
version=“8”
def Set subproject=project.getSubprojects();
各子项目{proj->
如果(项目名称包含(“B”)){
webModule(proj.name+“-”+proj.version+“.war”、“/”+proj.name)
}//如果关闭
}//每关
}//部署描述符关闭
}//闭上耳朵
假设项目A有一个build.gradle,在ear中,下面的代码可以解决这个问题-
plugins {
id 'ear'
}
dependencies {
deploy project(path:':b', configuration: 'archives')
}
ear{
/* some basis configuration */
libDirName 'APP-INF/lib'
deploymentDescriptor {
/* Some basic attributes */
fileName = "application.xml"
version = "8"
def Set<Project> subProj = project.getSubprojects();
subProj.each{proj ->
if(proj.name.contains("B")){
webModule(proj.name + "-" + proj.version + ".war", "/"+ proj.name)
} //if close
}//each close
}//deploymentDescriptor close
}//ear close
插件{
“耳朵”
}
依赖关系{
部署项目(路径:':b',配置:'存档')
}
耳朵{
/*一些基本配置*/
libDirName“APP-INF/lib”
部署描述符{
/*一些基本属性*/
fileName=“application.xml”
version=“8”
def Set subproject=project.getSubprojects();
各子项目{proj->
如果(项目名称包含(“B”)){
webModule(proj.name+“-”+proj.version+“.war”、“/”+proj.name)
}//如果关闭
}//每关
}//部署描述符关闭
}//闭上耳朵