如何从IzPack调用Java类的方法?静态方法没有问题,我需要能够传递它的参数。
谢谢!
背景资料:
我正在尝试编写一个IzPack安装程序,它能够检测到以前安装的应用程序版本。在发现它并不真正支持这个特性(Windows除外)之后,我认为唯一的方法就是编写一个Java类并从IzPack调用它。
this有previously suggested这个方法,它读取类的静态字段的值:
<condition type="java" id="jbossEnv">
<java>
<class>au.com.codarra.ela.installer.JBossChecker</class
<field>hasJBossEnv</field>
</java>
<returnvalue type="boolean">true</returnvalue>
</condition>但是,是否有可能从<java>标记以外的其他地方调用<condition>?我希望能够从<variable>标记中调用它。
另外,可以从Java类调用方法而不是读取字段的值吗?我希望能够将参数传递给我的班级。
发布于 2011-04-14 22:46:59
您可以调用静态方法,但我认为您不能传递参数。您可以创建一个新的“条件类型”,但我没有这方面的经验,所以我无法确定它提供的灵活性.
因此,我没有直接的回应,但另一个可能有帮助的建议:
我倾向于将任何复杂的后处理传递给不同的进程。
你调查过加工面板了吗?您可以启动任何进程,并传入变量。
例如:
<processing>
<job name="do xyz">
<os family="windows" />
<executefile name="$INSTALL_PATH/scripts/xyz.bat">
<arg>doit</arg><arg>$variable</arg>
</executefile>
</job>
<job name="do xyz">
<os family="unix" />
<executefile name="$INSTALL_PATH/scripts/xyz.sh">
<arg>doit</arg><arg>$variable</arg>
</executefile>
</job>
</processing>我用它来建立服务并立即启动。那种事。只需确保脚本安全退出,否则IzPack将挂起。
见此处:http://izpack.org/documentation/panels.html#processpanel
发布于 2011-03-14 14:00:36
考虑使用IzPack Ant集成
http://izpack.org/documentation/advanced-features.html#apache-ant-integration
和Ant Java标注任务
http://ant.apache.org/manual/Tasks/java.html
发布于 2011-03-15 13:12:29
你好,在下面的链接,你会发现一个很好的帮助,关于izpack安装程序。
http://www.imrantariq.com/blog/?p=89
下面的链接包含一个详细的pdf,使安装程序与izpack。
http://www.imrantariq.com/blog/?attachment_id=112
干杯
伊姆兰·塔里克
https://stackoverflow.com/questions/2475527
复制相似问题