我目前正在尝试用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
暂无答案!
目前还没有任何答案,快来回答吧!