当我在安装过程中执行我的应用程序时 izPack 冻结
izPack freeze when i execute my application in installation process
我的应用程序是一个简单的基于 swing 的应用程序,可以启动并将 ico 添加到托盘。仅此而已。
如何在使用 izPack 安装后 运行 我的应用程序 jar?
我尝试使用:
<executable stage="postinstall" targetfile="$INSTALL_PATH/core/app.jar">
</executable>
但是安装卡住了。
下一部分将在我关闭我的应用程序时进行。
如何解决?
也许对某人有帮助。
Izpack 等待应用程序结束。将一些作业保存在 jar 中可能很有用,例如将文件从一个地方移动到另一个地方等,并关闭 jar 应用程序。之后 izpack 解压缩。
但就我而言,我需要在安装后让我的应用程序保持打开状态。
所以 stage="postinstall" 对我来说不正确。
我为 linux/windows 写了 sh/bat,例如:
Unix:
#!/bin/bash
$JAVA_HOME/bin/java -jar $INSTALL_PATH/core/updater.jar &
Windows:
start javaw -jar "$INSTALL_PATH\core\updater.jar"
打开应用程序并隐藏terminal/cmd。
在 install.xml 我添加:
<panels>
<panel classname="ProcessPanel"/>
</panels>
<resources>
<res id="ProcessPanel.Spec.xml" src="ProcessPanel.Spec.xml"/>
</resources>
<packs>
<pack name="core" required="yes">
<fileset dir="resources/windows/scripts"
targetdir="$INSTALL_PATH/core/scripts">
<os family="windows"></os>
</fileset>
<fileset dir="resources/linux/scripts"
targetdir="$INSTALL_PATH/core/scripts">
<os family="unix"></os>
</fileset>
<executable targetfile="$INSTALL_PATH/core/scripts/run.sh" keep="true">
<os family="unix"></os>
</executable>
</pack>
</packs>
和ProcessPanel.Spec.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<izpack:processing version="5.0" xmlns:izpack="http://izpack.org/schema/processing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/processing http://izpack.org/schema/5.0/izpack-processing-5.0.xsd">
<job name="RunWindows">
<os family="windows" />
<executefile name="$INSTALL_PATH/core/scripts/run.bat" />
</job>
<job name="RunUnix">
<os family="unix" />
<executefile name="$INSTALL_PATH/core/scripts/run.sh" />
</job>
因此处理面板启动此脚本并将应用程序保存在托盘中。
我的应用程序是一个简单的基于 swing 的应用程序,可以启动并将 ico 添加到托盘。仅此而已。
如何在使用 izPack 安装后 运行 我的应用程序 jar? 我尝试使用:
<executable stage="postinstall" targetfile="$INSTALL_PATH/core/app.jar">
</executable>
但是安装卡住了。
下一部分将在我关闭我的应用程序时进行。 如何解决?
也许对某人有帮助。 Izpack 等待应用程序结束。将一些作业保存在 jar 中可能很有用,例如将文件从一个地方移动到另一个地方等,并关闭 jar 应用程序。之后 izpack 解压缩。 但就我而言,我需要在安装后让我的应用程序保持打开状态。 所以 stage="postinstall" 对我来说不正确。 我为 linux/windows 写了 sh/bat,例如:
Unix:
#!/bin/bash
$JAVA_HOME/bin/java -jar $INSTALL_PATH/core/updater.jar &
Windows:
start javaw -jar "$INSTALL_PATH\core\updater.jar"
打开应用程序并隐藏terminal/cmd。
在 install.xml 我添加:
<panels>
<panel classname="ProcessPanel"/>
</panels>
<resources>
<res id="ProcessPanel.Spec.xml" src="ProcessPanel.Spec.xml"/>
</resources>
<packs>
<pack name="core" required="yes">
<fileset dir="resources/windows/scripts"
targetdir="$INSTALL_PATH/core/scripts">
<os family="windows"></os>
</fileset>
<fileset dir="resources/linux/scripts"
targetdir="$INSTALL_PATH/core/scripts">
<os family="unix"></os>
</fileset>
<executable targetfile="$INSTALL_PATH/core/scripts/run.sh" keep="true">
<os family="unix"></os>
</executable>
</pack>
</packs>
和ProcessPanel.Spec.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<izpack:processing version="5.0" xmlns:izpack="http://izpack.org/schema/processing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://izpack.org/schema/processing http://izpack.org/schema/5.0/izpack-processing-5.0.xsd">
<job name="RunWindows">
<os family="windows" />
<executefile name="$INSTALL_PATH/core/scripts/run.bat" />
</job>
<job name="RunUnix">
<os family="unix" />
<executefile name="$INSTALL_PATH/core/scripts/run.sh" />
</job>
因此处理面板启动此脚本并将应用程序保存在托盘中。