Java 如何使用不同的属性值集自动化GWT构建?
我需要能够使用两组不同的属性值构建两个不同版本的GWT应用程序。例如,构建一个版本时,将Java 如何使用不同的属性值集自动化GWT构建?,java,gwt,ant,build,Java,Gwt,Ant,Build,我需要能够使用两组不同的属性值构建两个不同版本的GWT应用程序。例如,构建一个版本时,将自定义_属性的值设置为“A”,构建另一个版本时,将自定义_属性的值设置为“B” 目前,我正在手工编辑应用程序的模块XML文件。因此,要进行一次构建,我首先要添加: <set-property name="custom_property" value="A"/> 为了进行另一个构建,我将这一行更改为: <set-property name="custom_property" value=
自定义_属性的值设置为“A”,构建另一个版本时,将自定义_属性的值设置为“B”
目前,我正在手工编辑应用程序的模块XML文件。因此,要进行一次构建,我首先要添加:
<set-property name="custom_property" value="A"/>
为了进行另一个构建,我将这一行更改为:
<set-property name="custom_property" value="B"/>
这种方法可以正常工作,但如果可能的话,我想将其自动化
有什么好方法可以做到这一点吗?您可以克隆应用程序的模块XML文件并更改其中自定义属性的值(例如MyAppStaging.gwt.XML
和MyAppProd.gwt.XML
)。因此,您将能够为不同应用程序版本的构建编写脚本,并在IDE中具有不同的运行配置。这里的缺点是随后需要维护这两个模块XML文件。一种强大的方法是使用Maven替换。我在许多基于GWT和非GWT的应用程序中使用过这种方法。由于Maven的流行,你会发现大量的将GWT应用程序专业化的例子。然后,您可以使用Maven替换来实现所有神奇的效果。在多个模块XML文件的基础上,我将所有与设置不同构建的属性无关的模块XML放在一个MyAppBase.gwt.XML
文件中。然后,我用以下代码创建了MyAppA.gwt.xml
:
<module rename-to="myappA">
<inherits name="com.mycompany.MyAppBase"/>
<set-property name="custom_property" value="A"/>
</module>
<module rename-to="myappB">
<inherits name="com.mycompany.MyAppBase"/>
<set-property name="custom_property" value="B"/>
</module>
现在我可以在GWT编译命令行上指定com.mycompany.MyAppA
或com.mycompany.MyAppB
,并且没有配置的复制