1

我正在尝试使用 IzPack 在安装目录时授予对目录的权限。

在我的安装文件中,我有一个监听器设置为:

<listeners>
    <listener installer="ChmodInstallerListener">
    </listener>
</listeners>

我的包包含以下内容:

    <pack name="ApacheDS" required="yes" preselected="yes"
        installGroups="New Application">
        <description>apacheds install</description>
        <file src="@{apacheds.dir}" targetdir="$INSTALL_PATH" >
            <additionaldata key="permission.dir" value="775"/>
        </file>
    </pack>

每次我运行我的 ant 脚本时,我都会收到一条消息,说我的 CustomAction jar 文件没有找到。我认为这个 jar 文件将是 IzPack 的标准配置。我需要为此编写一个java类吗?我应该在哪里调用 jar 文件?

4

2 回答 2

3

最佳解决方法:

使用包中的可执行标签。我可以使用一点代码将 .sh 文件分发为可执行文件。

第一:调用包中的资源

<file src="@{MyProject.dir}/bin/startup.sh" targetdir="$INSTALL_PATH/PROJECT/bin/" />

接下来使其可执行(也在包中)

<executable 
targetfile="$INSTALL_PATH/PROJECT/bin/startup.sh" 
stage="never" keep="true" >
    <os family="mac" />
    <args>
        <arg value="754" />
        <arg value="@{MyProject.dir}/bin/*.sh" />
    </args>
</executable>

第一个 arg 将权限更改为 -rwrx-xr--x

第二个调用要更改的文件。

当用户运行安装时,该文件现在将具有可执行权限。

于 2013-08-15T14:25:14.157 回答
0

我在 com/myCompany/tools/install/listener 下的 IzPack bin 中找到了 ChmodInstallerListener.class 文件的副本。我将其转换为 jar 文件,并将其存储在 bin/customActions/ 中,但我的程序仍然无法识别它。

我不断收到相同的警告:未找到 CustomAction jar:bin/customActions/ChmodInstallerListener.jar。

有没有其他人遇到过这个问题?

于 2013-08-12T17:10:32.697 回答