【发布时间】:2010-11-19 15:11:00
【问题描述】:
有谁知道如何在 ANT 中将构建属性传递给 izpack。
我在 ANT 中安装了一个有效的 izpack,它运行良好,但我必须记住手动输入我的 build.properties 文件中的版本号等内容。
TIA
【问题讨论】:
标签: java ant installation izpack
有谁知道如何在 ANT 中将构建属性传递给 izpack。
我在 ANT 中安装了一个有效的 izpack,它运行良好,但我必须记住手动输入我的 build.properties 文件中的版本号等内容。
TIA
【问题讨论】:
标签: java ant installation izpack
您可以在 IzPack 安装定义中使用 @{} 语法引用 Ant 属性:
<installation version="1.0">
<!-- Ant properties in this file can be referenced with @{},
otherwise use variables below in installer files with ${} -->
<info>
<appname>@{product.name}</appname>
<appversion>@{product.version}</appversion>
<uninstaller name="remove.task" path="${INSTALL_PATH}/Uninstall" write="yes"/>
</info>
...
【讨论】:
似乎为了将所有项目属性传播到 izpack 编译器,您需要将 inheritAll 属性设置为“true”。
<izpack input="install-definition.xml"
output="${output.dir}/${product.short.name}-${product.version}-install.jar"
installerType="standard"
inheritAll="true"
basedir="${temp.dir}" />
然后在您的安装定义文件中使用 @{product.version} 引用该属性
但是,我在文档中找不到它,因此它可能继承的不仅仅是属性。
【讨论】:
我找到了办法。我将安装复制到我的 dist 文件夹并在那时替换。
<copy file="install.xml" todir="${output.dir}" overwrite="true">
<filterset>
<filter token="release.version" value="${release.version}"/>
</filterset>
</copy>
稍后:
<target name="installer" description="Build installer" depends="all">
<izpack input="${output.dir}/install.xml" output="c:/temp/test.jar" basedir="${release.dir}"/>
</target>
【讨论】: