从面板izpack执行java类

时间:2014-07-22 11:13:31

标签: java izpack

我是izpack的新手。我有所有的面板和一个java类,它采用mongodb集合并生成excel作为输出。我想运行这个java代码,当我在特定面板上单击下一步时生成excel。我怎样才能实现这个目标?

1 个答案:

答案 0 :(得分:2)

Short version

<强>第一

创建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>条目,引用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有用。