gpt4 book ai didi

java - IzPack 可执行文件不适用于 linux 脚本

转载 作者:搜寻专家 更新时间:2023-11-01 03:36:00 27 4
gpt4 key购买 nike

我正在尝试为我的一个 Java 应用程序创建安装程序。

根据文档 here , executable 用于在安装过程中执行 sumthing 或者它可以用于在类 unix 系统中设置可执行标志。

但是当我在我的一个包中使用相同的东西时,它没有任何作用。所以我的工作因以下异常而失败。

Java.io.IOException: Cannot run program /home/user/1.0/installations/test.sh: error=13, Permission Denied

下面是install.xml里面的pack定义

<pack name="Install Database Server" required="no" preselected="no"
installGroups="New Application">
<description>New server installation of the selected database as
required by the application.
</description>
<fileset dir="installations" targetdir="$INSTALL_PATH/$APP_VERSION/installations">
<include name="**" />
</fileset>
<executable target="$INSTALL_PATH/$APP_VERSION/installations/test.sh"
stage="never" keep="true" os="unix">
</executable>
</pack>

下面是流程规范 xml 文件中的作业。

<job name="TestInstaller">
<executefile name="$INSTALL_PATH/$APP_VERSION/installations/test.sh">
</executefile>
</job>

所以任何人都可以帮我解决这个问题。

提前致谢。

最佳答案

os 是嵌套的元素,而不是属性。请按如下方式更改您的 install.xml:

<executable target="$INSTALL_PATH/$APP_VERSION/installations/test.sh"
stage="never" keep="true">
<os family="unix" />
</executable>

为了防止您的可执行文件也在非 unix 操作系统下被调用,您还应该将该元素添加到您的流程规范 XML 中:

<job name="TestInstaller">
<executefile name="$INSTALL_PATH/$APP_VERSION/installations/test.sh">
<os family="unix" />
</executefile>
</job>

关于java - IzPack 可执行文件不适用于 linux 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31446480/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com