Legacy IzPack в выпуске с муравьями

У меня есть старый сценарий ant, который я пытаюсь запустить, чтобы создать установщик для некоторого устаревшего программного обеспечения.

Проверка того, установлен ли IzPack, не работает, хотя я установил IzPack 5.0.

Вот сегмент файла ant для этой проверки:

  <target name="check-izpack" depends="init-build">
    <available property="izpack.present"
               classname="com.izforge.izpack.ant.IzPackTask"
               classpathref="installer.cp" />
    <fail unless="izpack.present">.

       The IzPack program is not available.  Download it from
       http://www.izforge.com/izpack/.  Install it, and set the
       'izpack.home' property in your local build.properties.
    </fail>
    <taskdef name="izpack" classname="com.izforge.izpack.ant.IzPackTask"
             classpathref="installer.cp"/>
  </target>

И дальше вниз:

  <path id="installer.cp">
    <path refid="classpath" />
    <pathelement location="${izpack.home}/lib/standalone-compiler.jar"/>
  </path>

izpack.home установлен в соответствующее место в моем файле build.properties. Но я заметил, что в каталоге /lib нет файла jar с именем standalone-compiler.jar, который, как я понимаю, был взят из старых версий IzPack.

Есть ли способ заставить эту работу работать? (Желательно, чтобы мне не приходилось узнавать все об IzPack и ant.) Если я смогу достать соответствующую устаревшую версию IzPack, будет ли это самым простым способом? Или есть легкое преобразование для нового IzPack, которое могло бы сработать для меня?


person PurpleVermont    schedule 21.08.2015    source источник


Ответы (1)


В Izpack 5.0 они разделили одну отдельную банку на несколько банок. Глядя на последнюю версию на Github, кажется, что класс теперь находится в jar-файле izpack-ant.

Попробуйте изменить jar-файл пути к классу на izpack-ant, который должен существовать в папке, а не в автономном jar-файле.

person Koby    schedule 21.08.2015
comment
Фактический файл в моей библиотеке - izpack-ant-5.0.0-rc5.jar - должен ли я указывать его по имени и версии, подобным этому, или он достаточно умен, чтобы иметь дело с разными версиями? - person PurpleVermont; 21.08.2015
comment
Вам нужно будет указать полное имя. Забыл упомянуть об этом. Вы также можете переименовать файл и удалить версию, но я не рекомендую это делать. - person Koby; 21.08.2015
comment
Пожалуйста, опубликуйте полученную ошибку. Возможно, эта банка зависит от других банок, из-за которых возникает проблема. - person Koby; 21.08.2015
comment
Я получаю сообщение об ошибке из файла build.xml: Программа IzPack недоступна. Загрузите его с izforge.com/izpack. Установите его и установите свойство izpack.home в вашем локальном build.properties. - person PurpleVermont; 21.08.2015
comment
Может быть, попробуйте поискать имя класса в банке. Возможно, файл поврежден. Кроме того, убедитесь, что izpack.home указывает на правильную папку, пытаясь распечатать значение в файле ant с помощью задачи echo - person Koby; 21.08.2015
comment
Я сделал эхо для izpack.home. Я даже переместил IzPack в каталог, в пути которого нет пробелов, и попробовал все 3 из C:\IzPack, C:/IzPack и /cygdrive/c/IzPack, если это имело значение. (Я использую cygwin на машине с Windows) Раньше путь был установлен на C:/Program Files/IzPack, что работало со старой версией IzPack, которая была установлена ​​на более старую машину в этом месте. Попробую посмотреть, в банке ли файл. - person PurpleVermont; 21.08.2015
comment
Поддержка автономного компилятора была прекращена в v5. Правильный способ - использовать izpack-maven-plugin, есть ли какая-то конкретная причина, по которой вы настаиваете на ant? - person Zdeněk Vaník; 24.08.2015