Izpack выдает NullPointerException для обработки bat-файла, как решить? - PullRequest
0 голосов
/ 05 января 2012

Я создал один установщик с приложением PackJacket и скомпилировал спецификацию xml с версией 4.3.5 IzPack (последняя стабильная версия).Когда я попытался запустить установку, процесс остановился с java NullPointerException:

Current focus owner: null
Condition is fulfilled or not existent.
checking if os constraints [Os  family windows name null version null arch null
jre null ] match current OS
matched current OS.
Condition is fulfilled or not existent.
checking if os constraints [Os  family windows name null version null arch null
jre null ] match current OS
matched current OS.
Exception in thread "processing thread" java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:441)
        at com.izforge.izpack.installer.ProcessPanelWorker$ExecutableFile.run(Un
known Source)
        at com.izforge.izpack.installer.ProcessPanelWorker$ProcessingJob.run(Unk
nown Source)
        at com.izforge.izpack.installer.ProcessPanelWorker.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:619)

Это соответствующая XML-часть:

Ресурс:

<res id="ProcessPanel.Spec.xml" src="Install_processPanelSpec.xml"/>

Install_processPanelSpec.xml:

<processing>
    <job name="Instalar DLL's">
        <os family="Windows"/>
        <executefile name="$INSTALL_PATH/dlls/install.bat">
            <arg/>
        </executefile>
    </job>
    <job name="Configurar Acesso ao Banco">
        <os family="Windows"/>
        <executefile name="$INSTALL_PATH/config.bat">
            <arg/>
        </executefile>
    </job>
</processing>

1 Ответ

0 голосов
/ 13 апреля 2012

Изменено использование <executable> в <pack> вместо <processing>.

<pack name="DLL Inner" preselected="yes" required="yes">
  <executable failure="abort" keep="false" stage="postinstall" targetfile="$INSTALL_PATH/install.bat"/>
</pack>
...