。大家好,
我正在学习IzPack,将其作为未来项目中使用的工具,我真的很喜欢它。它可以根据我的需要进行灵活的操作,使过程更加简单。我甚至在github上提交了一个愚蠢的pull请求,并根据我的目的进行了修改。谁知道呢?
虽然我并不觉得它特别复杂,但我已经在尝试使用一种资源时被卡住了好几天。我需要在安装过程的某些点执行某些Ant任务(真正重要的是在所有东西都被解包之前(,但除了所有的efford之外,这些任务都不起作用。:(
我目前的状态,从例子来看似乎是正确的,如下所示:
[我目前对它的使用是基于我在这里找到的一个例子(当它涉及到这些动作时,文档不会太清楚。]
在我的定义xml文件中,我包含了一些内容:
首先是AntActionsSpect.xml和.jar,然后是监听器:
<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在其他人之前就被解包了。所有的构建都没有错误,即使我在AntActionsSpec或ant-tasks.xml中创建了一个"错误",也表明它们甚至没有被加载,尽管如果我弄乱了定义文件中包含它们的路径,构建就会失败。
我想得到一些帮助来解决这个问题。我可能犯了一些愚蠢的小错误,就是自己看不见。如果你们中的任何人都能提供一个运行构建的例子,那将是一件很好的事情。
如果我能提供更多信息,请告诉我,这样我就可以更新问题了。
非常感谢。
刚刚在谷歌群组讨论的论坛上找到了它:[izpack user]关于变量替换的快速问题。
不幸的是,我会得出结论,这些文件具有误导性。中的文档"AntActionInstallerListener和AntActionUninstallerListener"直到今天都在声明我应该使用这个侦听器配置:
<listeners>
<listener classname="AntActionInstallerListener" stage="install" />
<listener classname="AntActionUninstallerListener" stage="uninstall" />
</listeners>
这就是问题所在。将我的XML代码与Google Groups讨论中的代码进行比较,我发现它有不同的用途:
<listeners>
<listener installer="AntActionInstallerListener"
uninstaller="AntActionUninstallerListener" />
</listeners>
事实上,这就是另一个wiki中给出的指示:Ant Actions(InstallerListener和UninstallerListener(,它指出我可能在幕后出了问题,但这是另一集的故事。
这很管用。Ant任务执行正确。:(我只是找不到Codehaus能让我在哪里登录并编辑文档wiki。>:(.如果有人能支持我进行一些测试,然后为了未来的幸福调整wiki,或者只是给这个疲惫的程序员一个链接,我会很高兴的。