Выполнить 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 полезным.