Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从IzPack调用Java类_Java_Installation_Izpack - Fatal编程技术网

从IzPack调用Java类

从IzPack调用Java类,java,installation,izpack,Java,Installation,Izpack,如何从IzPack的Java类调用方法?静态方法是可以的,我需要能够传递它的参数 谢谢大家! 背景资料: 我正在尝试编写一个IzPack安装程序,它能够检测以前安装的应用程序版本。在发现它并不真正支持这个特性(除了在Windows中)之后,我认为唯一的方法是编写一个Java类并从IzPack调用它 Tim Williscorft有一个方法,它读取类的静态字段的值: <condition type="java" id="jbossEnv"> <jav

如何从IzPack的Java类调用方法?静态方法是可以的,我需要能够传递它的参数

谢谢大家!


背景资料:

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

Tim Williscorft有一个方法,它读取类的静态字段的值:

 <condition type="java" id="jbossEnv">
             <java> 
                 <class>au.com.codarra.ela.installer.JBossChecker</class
                 <field>hasJBossEnv</field>
             </java>
             <returnvalue type="boolean">true</returnvalue>
 </condition>


au.com.codarra.ela.installer.JBossChecker考虑使用IzPack Ant集成

以及AntJava调用任务

你好 在下面的链接中,您将找到关于izpack安装程序的帮助

下面的链接包含一个详细的pdf文件,可以使用izpack制作安装程序

干杯


Imran tariq

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

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

我倾向于将任何复杂的后处理传递到单独的流程

你调查过处理面板了吗?您可以启动任何进程,并传入变量

e、 g



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

<?xml version="1.0" encoding="UTF-8" ?>
<izpack:processing version="5.0"
xmlns:izpack="http://izpack.org/schema/processing" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://izpack.org/schema/processing 
http://izpack.org/schema/5.0/izpack-processing-5.0.xsd">

<job name="initialize license">
  <executefile name="$INSTALL_PATH/initialize.bat" workingDir="$INSTALL_PATH" onError="fail">
    <arg>license</arg>
  </executefile>
</job>
<onFail previous="false" next="false" />
<onSuccess previous="false" next="true" />
</izpack:processing>

许可证

我已经在使用ApacheAnt集成和AntJava任务。。。你对我的问题有什么具体的建议吗?想法是使用Ant将调用封装到Java类中(尽管这只是重复上面的建议…+1@amir:Aha我认为处理面板是IzPack中的一个新特性,我以前没有注意到它。。。谢谢你的提醒!我还有一个建议。。看看背包夹克。PackJacket使用GUI为建筑安装人员包装IzPack。非常好的工具:
<?xml version="1.0" encoding="UTF-8" ?>
<izpack:processing version="5.0"
xmlns:izpack="http://izpack.org/schema/processing" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://izpack.org/schema/processing 
http://izpack.org/schema/5.0/izpack-processing-5.0.xsd">

<job name="initialize license">
  <executefile name="$INSTALL_PATH/initialize.bat" workingDir="$INSTALL_PATH" onError="fail">
    <arg>license</arg>
  </executefile>
</job>
<onFail previous="false" next="false" />
<onSuccess previous="false" next="true" />
</izpack:processing>