gradle:具有项目相关属性的多项目构建

g6ll5ycj  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(196)

我目前正在尝试用gradle创建一个多项目构建,它应该生成多个ear文件。所有ear文件都使用一个共享ejb项目,该项目捆绑了一个ejb-jar.xml部署描述符。这个部署描述符应该包含一个依赖于ear项目的env条目。
项目结构如下:

├───ear-project1
│       build.gradle
├───ear-project2
│       build.gradle
├───ejb-project
│   │   build.gradle
│   └───src
│       └───main
│           └───resources
│               └───META-INF
│                       ejb-jar.xml
├───build.gradle

build.gradle(根目录)

plugins {
    id 'java'
}

subprojects {
    apply plugin: 'java'
}

build.gradle(耳)

apply plugin: 'ear'

dependencies {
    deploy project(':ejb-project')
}

build.gradle(ejb)

import org.apache.tools.ant.filters.ReplaceTokens

ext {
    placeholder = 'thisShouldBeSetByTheEar'
}

processResources {
    with copySpec {
        from 'src/main/resources'
        filter(ReplaceTokens, tokens: [replaceMe: placeholder])
    }
}

整个项目应该由一个命令创建,例如。 gradle ear .
到目前为止,我尝试通过闭包注入属性,但似乎不起作用:

deploy project(':ejb-project', { placeholder = 'ear-project1' })

如何配置ear项目来设置 placeholder ejb项目的变量?
您可以通过github访问完整的示例:https://github.com/monsieurvader/multiproject-ear

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题