2010-03-26 2 views
7

Я пытаюсь создать пользовательскую панель для установщика IzPack. Это означает, что я должен продлить IzPanel. Однако представляется, что если я это сделаю, расширенная панель needs to be in пакета com.izforge.izpack.panels.Izpack: Создание пользовательских панелей

Тогда я нашел this post, который предусматривает, что:

  1. Таким образом, вы должны включать в себя installer.jar из Lib папки IzPack в путь сборки вашего проекта на заказ панели.
  2. Ваша пользовательская панель/должна/расширять com.izforge.izpack.installer.IzPanel.
  3. Кроме того, он должен/должен/находиться в пакете com.izforge.izpack.panels.
  4. Вдобавок ко всему, ваше имя баннера/должно/быть таким же, как у неквалифицированного имени вашего настраиваемого класса панели.

Я беру вопрос с 1-го и 4-го пунктов. Они подразумевают, что я должен создать дополнительный JAR-файл для каждый пользовательский IzPanel, который я создаю. Кроме того, мне пришлось бы изменить установку IzPack, добавив эти JAR в один из своих подкаталогов.

Является ли эта статья устаревшей (2008) и ее можно безопасно игнорировать или это все еще так?
Если нет, то как я могу избежать этого и просто иметь расширенный IzPanel в пути к классам?

Спасибо!

ответ

2

Хорошо, я понимаю, что вы хотите, чтобы ваши панели в одной банке в вашем собственном пакете.

Это, как вы это делаете:

  1. Создать свою баночку со всеми пользовательскими панелями
  2. Понял банку с IzPackStagingFolder \ Bin \ панелеем
  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.

Для получения дополнительной информации см. Более раннюю документацию 4.x от IzPack по адресу https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491534/Creating+Panels. На данный момент в этой статье отсутствует новая версия IzPack 5.x doc wiki.

Также Reffer в XML DTD в https://github.com/izpack/izpack/blob/4.3/src/dtd/installation.dtd

0

еще один пункт в дополнение к Павлу Борш ответить здесь.

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).

Наслаждайтесь созданием пользовательских панелей.

Смежные вопросы