4

有谁知道如何在 ANT 中将构建属性传递给 izpack。

我在 ANT 中有一个可用的 izpack 安装,它工作正常,但我必须记住手动输入版本号等内容,这些内容位于我的 build.properties 文件中。

TIA

4

3 回答 3

4

@{}您可以使用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>
...

来源

于 2010-11-19T22:54:46.293 回答
2

似乎为了将所有项目属性传播到 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} 引用该属性

但是,我在文档中找不到它,因此它可能继承的不仅仅是属性。

于 2011-05-20T11:32:36.037 回答
0

我找到了一个方法。我将安装复制到我的 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>
于 2010-11-20T10:22:43.963 回答