Gradle:设置web应用程序的上下文根

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中,下面的代码

我有两个Gradle项目,A是根项目,B是A的子项目

项目B生成一个
.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)
}//如果关闭
}//每关
}//部署描述符关闭
}//闭上耳朵