Ant任务不会运行在IzPack安装程序中

时间:2014-08-08 11:36:34

标签: ant izpack

。 大家好,

我正在研究IzPack作为未来项目中使用的工具,我真的非常喜欢它。它具有我所需要的灵活性,使这个过程变得更加容易。我甚至在github上提出了一个愚蠢的pull reques t,我需要修改我的目的。谁知道?

虽然我发现它并不特别复杂,但我已经被困在试图使用资源几天了。我需要在安装过程的某些点执行某些Ant任务(在解压缩所有内容之前才真正重要)并且除了所有的efford之外,这是无效的。 :(

我现在的状态,看起来正确的例子如下:

[我目前对此的使用是基于我发现here的一个例子(当这些操作出现时,文档并不太清楚。

在我的定义xml文件中,我包含了一些内容:

首先是AntActionsSpect.xml和.jars,然后是监听器:

<resources>
    ...
    <res id="AntActionsSpec.xml" src="specs/AntActionsSpec.xml" />
    ...
</resources>

<jar src="libs/ant/ant.jar" stage="both" />
<jar src="libs/ant/ant-launcher.jar" stage="both" />

<listeners>
    <listener classname="AntActionInstallerListener" stage="install" />
    <listener classname="AntActionUninstallerListener" stage="uninstall" />
</listeners>

<pack name="test_app" required="yes" installGroups="Application Core">
...

在specs / AntActionsSpec.xml文件中,我有以下内容:

<pack name="test_app">
    <antcall order="beforepacks" quiet="no" verbose="yes" buildfile="$INSTALL_PATH/ant-tasks.xml">
            <property name="INSTALL_PATH" value="$INSTALL_PATH" />
            <target name="touch_beforepacks" />
    </antcall>
 </pack>

ant-tasks.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project>
    <target name="touch_beforepacks">
        <touch file="$INSTALL_PATH/beforepacks.txt"/>
    </target>
</project>

这里没什么特别的,只是创建一个哑文件。

ant-tasks.xml在其他任何人之前解压缩。一切都没有错误,即使我创造了一个&#34;错误&#34;在AntActionsSpec或ant-tasks.xml中,有什么迹象表明我们甚至没有加载它们,但是如果我弄乱了定义文件所包含的路径,那么构建将会失败。

我想帮助解决这个问题。我可能会犯一些愚蠢的小错误而且我自己也看不到它。如果你们中的任何人都可以提供正在运行的构建的示例,那将是很好的。

如果我可以提供更多信息,请告诉我,以便我可以更新问题。

非常感谢。

1 个答案:

答案 0 :(得分:0)

刚刚在Google网上论坛讨论中使用论坛找到了它:[izpack-user] Quick question on variable substitution.

不幸的是,我会得出结论,这些文件具有误导性。中的文档 "AntActionInstallerListener and AntActionUninstallerListener"直到此日期表明我应该使用此侦听器配置:

<listeners>
    <listener classname="AntActionInstallerListener" stage="install" />
    <listener classname="AntActionUninstallerListener" stage="uninstall" />
</listeners>

这就是问题所在。将我的XML代码与Google网上论坛讨论中的代码进行比较,我发现了它的不同用法:

<listeners>
       <listener    installer="AntActionInstallerListener"
                    uninstaller="AntActionUninstallerListener" />
</listeners>

事实上,这是另一个维基中给出的指示:Ant Actions (InstallerListener and UninstallerListener),指出我的内容可能是错误的,但这是另一集的故事。

这才有效。 Ant任务正确执行。 :) 我无法找到Codehaus允许我抓住登录并编辑文档维基的地方。 &gt; :(。如果有人可以通过一些测试认可我,然后调整维基以获得未来的快乐,或者只是给这个疲惫的程序员提供一个链接,我会感到高兴。