8

IzPack インストーラー用のカスタム パネルを作成しようとしています。これは、拡張する必要があることを意味しIzPanelます。ただし、これを行うと、拡張パネルがパッケージに含まれている必要があるようです。com.izforge.izpack.panels

次に、次のことを規定するこの投稿を見つけました。

  1. そのため、カスタム パネル プロジェクトのビルド パスに、IzPack の lib フォルダーからの installer.jar を含める必要があります。
  2. カスタム パネルは、/must/ com.izforge.izpack.installer.IzPanel を拡張します。
  3. さらに、それは com.izforge.izpack.panels パッケージに存在する必要があります。
  4. さらに、ビルド jar の名前は、カスタム パネル クラスの修飾されていない名前と同じでなければなりません。

1点目と4点目に問題があります。これらは、作成するカスタム IzPanelごとに追加の JAR ファイルを作成する必要があることを暗示しています。また、これらの JAR をサブディレクトリの 1 つに追加して、IzPack のインストールを変更する必要があります。

この記事は時代遅れ (2008 年) であり、無視しても問題ありませんか、それともまだ真実ですか?
そうでない場合、どうすればこれを回避し、代わりにクラスパスに拡張 IzPanel を配置できますか?

ありがとうございました!

4

2 に答える 2

2

わかりました、パネルを独自のパッケージ内の単一の 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 は、IzPanel を拡張する CustomPanelOne と CustomPanelTwo の 2 つのクラスを持つ独自のパッケージに独自のパネルを持つ単一の Maven プロジェクトにすることができます。

詳細については、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 も参照してください。

于 2012-11-16T23:28:31.237 に答える
0

Paul Bors の回答 here に加えて、もう 1 点。

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) への追加の依存関係を追加します。

カスタムパネルの作成をお楽しみください。

于 2013-04-10T10:54:42.103 に答える