1

我正在尝试使用 izpack 为我们的应用程序创建安装程序,在 linux 中执行脚本文件时遇到问题。我能够通过进程面板运行 bat 文件。请回复

4

2 回答 2

4

如果您在此处提供更多信息,这个问题会更容易回答...

盲目猜测我会说您需要确保使用可执行标记将可执行位保留在您的 linux shell 脚本中,如下所示:

<pack name="Tomcat 6 Application Server" required="yes" packImgId="Tomcat.image">
  <description>The Tomcat 6.0 Web Application Server.</description>
  <fileset dir="windows/apache-tomcat-6.0.32" targetdir="$INSTALL_PATH">
    <os family="windows" />
  </fileset>
  <fileset dir="linux/apache-tomcat-6.0.32" targetdir="$INSTALL_PATH">
    <os family="unix" />
  </fileset>

  <parsable targetfile="$INSTALL_PATH/conf/server.xml" type="xml" />
  <parsable targetfile="$INSTALL_PATH/conf/tomcat-users.xml" type="javaprop" />
  <parsable targetfile="$INSTALL_PATH/bin/catalina.bat" type="plain" />
  <parsable targetfile="$INSTALL_PATH/bin/catalina.sh" type="plain" />
  <executable targetfile="$INSTALL_PATH/bin/catalina.sh" keep="true" stage="never" />
  <executable targetfile="$INSTALL_PATH/bin/startup.sh" keep="true" stage="never" />
  <executable targetfile="$INSTALL_PATH/bin/shutdown.sh" keep="true" stage="never" />
  <executable targetfile="$INSTALL_PATH/bin/digest.sh" keep="true" stage="never" />
  <executable targetfile="$INSTALL_PATH/bin/setclasspath.sh" keep="true" stage="never" />
  <executable targetfile="$INSTALL_PATH/bin/tool-wrapper.sh" keep="true" stage="never" />
  <executable targetfile="$INSTALL_PATH/bin/version.sh" keep="true" stage="never" />
</pack>
于 2011-06-24T21:05:56.140 回答
1

您可以<executable>在包定义中使用标签来指定哪些文件是可执行文件。关键是要有stage="never"属性,这样 izpack 就不会执行文件,并且要设置keep="true",这样 izpack 就不会删除它。

例如:

<executable targetfile="$INSTALL_PATH/bin/some-secript"
                 os="unix" stage="never" failure="warn" keep="true"/>

文件

[izpack-user] 在 Linux 中设置文件权限

于 2016-06-07T13:39:18.893 回答