如何从 IzPack 调用 Java 类的方法?静态方法是可以的,我需要能够传递参数。
谢谢你!
背景资料:
我正在尝试编写一个 IzPack 安装程序,它能够检测以前安装的应用程序版本。在发现它并不真正支持此功能(Windows 除外)后,我认为实现此目的的唯一方法是编写一个 Java 类并从 IzPack 调用它。
蒂姆·威利斯克罗夫特有之前建议的 https://stackoverflow.com/questions/1845166/how-to-get-izpack-tocheck-for-an-existing-version-of-the-software此方法读取类的静态字段的值:
<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>
tag.
另外,是否可以从 Java 类调用方法而不是读取字段的值?我希望能够将参数传递给我的类。
您可以调用静态方法,但我认为您不能传入参数。
你could创建一个新的“条件类型”,但我没有这方面的经验,所以我无法确认它提供的灵活性......
所以,我没有直接的回应,但另一个可能有帮助的建议:
我倾向于将任何复杂的后处理传递给单独的流程。
您调查过处理面板吗?您可以启动任何进程,并传入变量..
e.g.
<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 http://izpack.org/documentation/panels.html#processpanel
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)