Выполнить Java-класс из панели izpack

Я новичок в izpack. У меня есть все панели и java-класс, который принимает коллекцию mongodb и выдает в качестве выходного файла excel. Я хочу запустить этот java-код и вывести excel, когда я нажимаю на следующую панель. Как я могу этого достичь??

1 ответ

Короткая версия:

Первый

Создайте свои классы Java и упакуйте их в JAR. Пример:

package org.callimachusproject;
import com.izforge.izpack.panels.process.AbstractUIProcessHandler;

public class HelloWorld {
  public void run(AbstractUIProcessHandler handler, String[] args) {
    handler.logOutput("Hello, World!", false);
  }
}

второй

Настройте файл install.xml: добавьте <resource> entry, ссылка на ваш jar, используйте ProcessPanel для выполнения вашего Java-класса.

<installation>
  <resources>
    <res id="ProcessPanel.Spec.xml" src="installer/ProcessPanel.Spec.xml"/>
  </resources>
  <jar src="path/to/hello.jar" stage="install"/>
  <jar src="path/to/mongodb.jar" stage="install"/>
  <jar src="path/to/other.jar" stage="install"/>
 <panels>
   <panel classname="ProcessPanel"/>
 </panels>
</installation>

В третьих

Создайте файл ProcessPanel.Spec.xml

<processing>
  <logfiledir>$INSTALL_PATH</logfiledir>
  <job name="setup">
    <executeclass name="org.callimachusproject.HelloWorld">
        <arg>${someVariable}</arg>
    </executeclass>
  </job>
  <onFail previous="true" next="false" />
  <onSuccess previous="false" next="true" />
</processing>

Для дальнейшего чтения вы найдете izpack doc полезным.

Другие вопросы по тегам