我正在尝试为我的一个java应用程序创建安装程序。
根据文档here,可执行文件用于在安装过程中执行sumthing,或者它可用于在类似unix的系统中设置可执行标志。
但是当我在我的一个包里使用相同的东西时,它什么也没做。所以我的工作失败了以下例外。
Java.io.IOException:无法运行程序/home/user/1.0/installations/test.sh:error = 13,Permission Denied
以下是install.xml
中的包定义<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>
所以任何人都可以帮助我。
提前致谢。
答案 0 :(得分:1)
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>
答案 1 :(得分:0)
如果您想避免使用ProcessPanel,则可以直接设置它:
/([a-zA-Z0-9]{13})([-]{1}[A-Z]{1}){0,1}/.test("ABCDEFGKLM123") // true
/([a-zA-Z0-9]{13})([-]{1}[A-Z]{1}){0,1}/.test("ABCDEFGKLM123-A") // true
/([a-zA-Z0-9]{13})([-]{1}[A-Z]{1}){0,1}/.test("ABCDEFGKLM123-AA") // true. Should return false!
/([a-zA-Z0-9]{13})([-]{1}[A-Z]{1}){0,1}/.test("ABCDEFGKLM123-") // true. Should return false!
/([a-zA-Z0-9]{13})([-]{1}[A-Z]{1}){0,1}/.test("ABCDEFGKLM123A") // true. Should return false!