gpt4 book ai didi

java - Izpack:创建自定义面板

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:24 25 4
gpt4 key购买 nike

我正在尝试为 IzPack 安装程序创建自定义面板。这意味着我必须扩展 IzPanel。但是,看来如果我这样做,扩展面板 needs to be in com.izforge.izpack.panels 包。

然后我找到this post ,其中规定:

  1. 因此,您必须在自定义面板项目的构建路径中包含 IzPack 的 lib 文件夹中的 installer.jar。
  2. 您的自定义面板/必须/扩展 com.izforge.izpack.installer.IzPanel。
  3. 此外,它/必须/位于 com.izforge.izpack.panels 包中。
  4. 最重要的是,你的构建 jar 的名称/必须/与您的自定义面板类的非限定名称。

我对第 1 点和第 4 点有异议。它们暗示我必须为我创建的每个 自定义 IzPanel 创建一个额外的 JAR 文件。此外,我必须通过将这些 JAR 添加到其子目录之一来修改 IzPack 安装。

这篇文章是否已过时(2008 年)并且可以安全地忽略它,还是仍然如此?
如果不是,我该如何避免这种情况,而只是将扩展的 IzPanel 放在类路径中呢?

谢谢!

最佳答案

好吧,我想你想把你的面板放在你自己包里的一个 jar 里。

这是你的做法:

  1. 使用您所有的自定义面板创建您的 jar
  2. 将该 jar 复制到 IzPackStagingFolder\bin\panels
  3. 编辑安装程序描述符并在面板部分下引用您的 CustomPanels.jar

然后在您的 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。

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

另请参阅 https://github.com/izpack/izpack/blob/4.3/src/dtd/installation.dtd 处的 XML DTD

关于java - Izpack:创建自定义面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2520489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com