我有一个包含一些 WAR 网络应用程序的 java EAR 项目。
我正在使用 gradle 来构建 EAR 文件。
uberApp
|
\---> WarA
| |
| ...<src and config>
|
\---> WarB
| |
| ...<src and config>
|
\--> config/META-INF/application.xml
这是 uberApp build.gradle:
apply plugin: 'ear'
dependencies {
deploy project(path: ':WarA/trunk', configuration: 'archives')
deploy project(path: ':WarB/trunk', configuration: 'archives')
}
ear {
appDirName 'config'
}
这是 WAR build.gradle:
war {
baseName = 'WarA'
version = '1.2.3_rev' + getSvnRevision() // provided by SvnKit
}
...因此生成的文件名始终包含手写版本号和 SVN 提交号:WarA-1.2.3_rev31337.war
但是我需要在组装application.xml
之前使用标签内的正确 WAR 文件名更新我的。EAR
这是耳朵application.xml
:
<?xml version="1.0"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="6">
<module>
<web>
<web-uri>WarA.war</web-uri>
<context-root>/WarA</context-root>
</web>
</module>
<module>
<web>
<web-uri>WarB.war</web-uri>
<context-root>/WarB</context-root>
</web>
</module>
<library-directory>lib</library-directory>
</application>
我怎样才能做到这一点?