我有一个基本要求,即将用户输入变量保存到属性文件中。我使用${}
进行替换。这对我不起作用。但我发现几乎所有论坛都将此作为解决方案。请帮助我在这里缺少什么。
使用的IzPack版本:4.3.5
谢谢, 拉迪卡
INSTALL.XML
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<installation version="1.0">
<info>
<appname>Flow Tool</appname>
<appversion>1.0</appversion>
</info>
<guiprefs width="740" height="580" resizable="yes" />
<locale>
<langpack iso3="eng" />
<langpack iso3="fra" />
</locale>
<resources>
<res id="userInputSpec.xml" src="userInputSpec.xml" />
<res id="LicencePanel.licence" src="Licence.txt" />
<res id="InfoPanel.info" src="Readme.txt" />
</resources>
<panels>
<panel classname="LicencePanel" />
<panel classname="TargetPanel" />
<panel classname="InstallPanel" />
<panel classname="UserInputPanel" id="userinputpanel" />
<panel classname="FinishPanel" />
</panels>
<packs>
<pack name="Base" required="yes">
<description>The base files</description>
<file src="Licence.txt" targetdir="$INSTALL_PATH" />
<file src="script.bat" targetdir="$INSTALL_PATH" />
<parsable targetfile="$INSTALL_PATH/script.bat" />
</pack>
<pack name="Sources" required="yes">
<description>The sources</description>
<file src="src" targetdir="$INSTALL_PATH" />
<file src="appln.properties" targetdir="$INSTALL_PATH" />
<parsable targetfile="$INSTALL_PATH/appln.properties"
parsable="yes" />
</pack>
</packs>
</installation>
appln.properties
${clnt.loc}
userInputSpec.xml
<userInput>
<panel id="userinputpanel">
<createForPack name="Base" />
<field type="staticText" align="left" txt="HPCC client tool Check"
id="staticText.text" />
<field type="text" txt="Client Tool Location" id="clnt.loc"
variable="clnt.loc">
<spec txt="Default Cluster" allowEmptyValue="true" size="25"
id="clnt.loc" variable="clnt.loc" />
</field>
</panel>
</userInput>
答案 0 :(得分:0)
发现Izpack 5可以解决这个问题。问题是应该在InstallPanel之前调用UserInputPanel。文档很清楚,可以解释这一点。
答案 1 :(得分:0)
即使在 v4.3.5 中,也可以获取用户输入并将其保存到您想要的任何文件中。 看看这里描述的ProcessPanel Doc link
在这种情况下,您需要将用户输入作为参数传递给您的java类,并且该类将编写文件类型的东西。