Izpack:创建自定义面板

时间:2010-03-26 00:47:07

标签: java classpath izpack custom-panel izpanel

我正在尝试为IzPack安装程序创建自定义面板。这意味着我必须扩展IzPanel。但是,如果我执行此操作,则会显示com.izforge.izpack.panels {{1}}扩展面板。{/ p>

然后我找到needs to be in,其中规定:

  1. 因此,您必须在自定义面板项目的构建路径中包含IzPack的lib文件夹中的installer.jar。
  2. 您的自定义面板/必须/扩展com.izforge.izpack.installer.IzPanel。
  3. 此外,它/必须/驻留在com.izforge.izpack.panels包中。
  4. 最重要的是,您的构建jar的名称/必须/与之相同 自定义面板类的非限定名称。
  5. 我对第1和第4点有疑问。他们暗示我必须为我创建的每个自定义IzPanel创建一个额外的JAR文件。此外,我必须通过将这些JAR添加到其子目录之一来修改IzPack安装。

    这篇文章是否过时(2008年)并且可以被安全地忽略,或者这仍然是真的吗? 如果不是,我怎么能避免这种情况,而只是在类路径上使用扩展的IzPanel?

    谢谢!

2 个答案:

答案 0 :(得分:2)

好吧,我认为你想把你的面板放在你自己包装里的一个罐子里。

您就是这样做的:

  1. 使用所有自定义面板创建jar
  2. 将该jar复制到IzPackStagingFolder \ bin \ panels
  3. 编辑安装程序描述符,并在面板部分下引用您的CustomPanels.jar
  4. 然后在install.xml中定义类似于:

    的面板部分
    ...
    <panels>
        <panel classname="HTMLInfoPanel"          id="infopanel" encoding="ISO-8859-1" />
        <panel classname="TargetPanel"            id="targetpanel" />
        <panel classname="com.myCompany.installer.panels.MyCustomPanelOne"     id="customPanelOne" jar="bin/panels/CustomPanels.jar" />
        <panel classname="UserInputPanel"         id="userInputPanel" />
        <panel classname="InstallPanel"           id="installPanel" />
        <panel classname="ProcessPanel"           id="processPanel" />
        <panel classname="com.myCompany.installer.panels.MyCustomPanelTwo"   id="customPanelTwo" jar="bin/panels/CustomPanels.jar" />
        <panel classname="FinishPanel"            id="finishPanel" />
    </panels>
    ...
    

    其中CustomPanels.jar可以是一个单独的maven项目,在您自己的包中有自己的面板,两个类CustomPanelOne和CustomPanelTwo都扩展了IzPanel。

    有关详细信息,请参阅https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491534/Creating+Panels的IzPack旧版4.x文档。截至目前,较新的IzPack 5.x doc wiki缺少此部分。

    还可以https://github.com/izpack/izpack/blob/4.3/src/dtd/installation.dtd

    访问XML DTD

答案 1 :(得分:0)

除了Paul Bors之外,还有一点要回答。

IzPacks 4.x只需要installer.jar作为依赖项。当我第一次尝试使用installer.jar(izpack-installer-5.0.0-beta11.jar)编译自定义面板时,发现了许多编译错误。 Izpack 5.0增加了对IzPack api(izpack-api-5.0.0-beta11.jar)和Izpack gui(izpack-gui-5.0.0-beta11.jar)的依赖。

享受创建自定义面板。

相关问题