2014-07-22 32 views
0

我是新來的izpack。我有所有面板和一個java類,它需要mongodb集合並生成excel作爲輸出。我想要運行此java代碼並在特定面板上單擊next時生成excel。我怎麼能做到這一點?從面板執行java類izpack

+0

你使用什麼版本的izpack? – ThomasEdwin

+0

目前我使用5.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>項,引用您的罐子,用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有用。