从IzPack调用Java类

如何从IzPack中调用Java类中的方法? 静态方法没问题,我需要能够传递参数。

谢谢!


背景资料:

我正在尝试编写一个能够检测以前安装的应用程序版本的IzPack安装程序。 在发现它并不真正支持此function(Windows除外)之后,我认为唯一的方法是编写Java类并从IzPack调用它。

Tim Williscroft 之前曾提出过这种方法,它读取类的静态字段的值:

  au.com.codarra.ela.installer.JBossChecker</class hasJBossEnv  true  

但是,是否可以从标签以外的地方调用 ? 我希望能够从标签中调用它。
此外,是否可以从Java类调用方法而不是读取字段的值? 我希望能够将参数传递给我的class级。

你可以调用静态方法,但我认为你不能传入参数。 你可以创建一个新的’条件类型’,但我没有这方面的经验所以我无法确认它提供的灵活性…

所以,我没有直接回应,但另一个可能有帮助的建议:

我倾向于将任何复杂的后处理传递给单独的进程。

你有没有调查过处理面板? 你可以启动任何进程,并传入变量..

例如

     doit$variable      doit$variable    

我用它来设置服务并立即启动。 那种事。 只需确保您的脚本干净利落,否则IzPack将挂起。

请参见: http : //izpack.org/documentation/panels.html#processpanel

您好在下面的链接中,您将找到有关izpack安装程序的一个很好的帮助。

http://www.imrantariq.com/blog/?p=89

下面的链接包含一个详细的pdf,用于安装izpack的安装程序。

http://www.imrantariq.com/blog/?attachment_id=112

干杯

Imran tariq

我已成功配置一个IzPack安装程序,在安装过程中执行“bat”文件(带有一个参数)以生成许可证请求代码。 首先,我必须确保将bat文件复制到用户选择的$ INSTALL_PATH,并且在IzPack install.xml中我在InstallPanel之后添加了一个ProcessPanel(这是所有文件,包括“bat”文件被复制的地方) )。 我的ProcessPanel.Spec.xml如下所示:

     license