我们有一个Java applet项目,我们使用Ant生成包装器HTML,看起来有点像这样:
<target name="build-applet" description="Build web applet" depends="set-build-properties, set-properties">
<antcall target="clean" />
<antcall target="clean-applet" />
<antcall target="set-version" />
<antcall target="compile" />
<antcall target="jar" />
<antcall target="applet" />
</target>
<target name="applet">
<replace file="${applet.dir}/${applet.html.file}">
<replacefilter token="@jar.file@" value="${applet.jar.file}"/>
<replacefilter token="@assets.file@" value="${applet.assets.file}"/>
<replacefilter token="@codebase@" value="${applet.codebase}"/>
</target>
请注意,${applet.codebase}
必须是加载小程序的网址,例如mysite.com/game。它在属性文件中设置。
现在我希望能够将这个applet构建到两个不同的位置,这是实时/测试设置的一部分。例如,一个访问mysite.com/game,另一个访问mysite.com/test。除了${applet.codebase}
之外,我几乎可以使用它,因为在每种情况下都需要有所不同。我以为我可以${applet.codebase}
和${applet.codebase_test}
,但我不知道该怎么做。也许有办法将标记从applet
传递到build-applet
目标,并添加两个顶级目标build-applet-live
和build-applet-test
,只需调用build-applet
参数。
答案 0 :(得分:1)
为什么不简单地ant -Dapplet.codebase=whatever build.xml
,意味着将$ {applet_codebase}设置为userproperty(=通过-Dkey = value设置的属性)?