2013-05-16 3 views
2

Согласно IzPack, это классифицируется как исключение CompilerException.IzPack Error 2 - «версия файла отличается от версии компилятора»

Мой файл install.xml является:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> 
<installation version="2.0"> 
    <info> 
     <appname>Time Sheets Manager</appname> 
     <appversion>2.0</appversion> 
     <authors> 
      <author email="[email protected]" name="Elliot Brown"/> 
      <author email="" name="Denes Lengyel"/> 
     </authors> 
     <url>http://dbs.ca</url> 
     <uninstaller name="timesheet_uninstall.jar" write="yes"/> 
     <javaversion>1.7</javaversion> 
     <requiresjdk>no</requiresjdk> 
     <writeinstallationinformation>yes</writeinstallationinformation> 
     <pack200/> 
     <run-privileged condition="izpack.windowsinstall.vista|izpack.windowsinstall.7"/> 
    </info> 
    <guiprefs height="480" resizable="no" width="640"> 
     <modifier key="useFlags" value="no"/> 
     <modifier key="langDisplayType" value="default"/> 
    </guiprefs> 
    <locale> 
     <langpack iso3="eng"/> 
    </locale> 
    <panels> 
     <panel classname="CheckedHelloPanel"/> 
     <panel classname="InstallSelection"/> 
     <panel classname="SimpleFinishPanel"/> 
    </panels> 
</installation> 

Я использую следующую команду, чтобы сгенерировать ошибку:

compile.bat install.xml -o install.jar -k standard 

Ниже фактический выход за исключением:

IZPACK_HOME is "C:\Program Files\IzPack\bin\.." 

.:: IzPack - Version 5.0.0-beta11 ::. 

< compiler specifications version: 5.0 > 

- Copyright (c) 2001-2010 Julien Ponge and others. All Rights Reserved. 
- Visit http://izpack.org/ for the latest releases 
- Released under the terms of the Apache Software License version 2.0. 

-> Processing : install.xml 
-> Output  : install.jar 
-> Base path : . 
-> Kind  : standard 
-> Compression : default 
-> Compr. level: -1 
-> IzPack home : C:\Program Files\IzPack\bin\.. 

May 16, 2013 5:55:04 PM com.izforge.izpack.core.container.PlatformProvider provi 
de 
INFO: Detected platform: windows,version=6.2,arch=x64,symbolicName=WINDOWS_8,jav 
aVersion=1.7.0_15 
-> Fatal error : 
    install.xml:2: the file version is different from the compiler version 
com.izforge.izpack.api.exception.CompilerException: install.xml:2: the file vers 
ion is different from the compiler version 
     at com.izforge.izpack.compiler.helper.AssertionHelper.parseError(Asserti 
onHelper.java:61) 
     at com.izforge.izpack.compiler.resource.ResourceFinder.getXMLTree(Resour 
ceFinder.java:188) 
     at com.izforge.izpack.compiler.CompilerConfig.executeCompiler(CompilerCo 
nfig.java:295) 
     at com.izforge.izpack.compiler.bootstrap.CompilerLauncher.main(CompilerL 
auncher.java:52) 

(tip : use -? to get the commmand line parameters) 

Это мой первый опыт использования IzPack, и это критически важно, что я получаю эту работу. Любая помощь будет принята с благодарностью.

Я также должен отметить, что «InstallSelection» в разделе панели - это тот, который я создал в Netbeans. Даже без этого в разделе панели я все равно получаю сообщение об ошибке.

+0

Я думаю, что вам нужно TargetPanel - <панель Classname = "TargetPanel" ID = "targetpanel" /> –

+0

Спасибо за ответ. Извините за отложенный ответ. К сожалению, это не решило мою проблему. Я также должен отметить, что панель InstallSelection была разработана мной в Netbeans. – shi3re

ответ

1

Из-за отсутствия надлежащей и эффективной документации потребовалось некоторое время для устранения ошибок.

2 вещи должны быть проверены, по крайней мере, в этом случае:

  • При создании пользовательской панели, убедитесь, что Java компилятор используется для компиляции он соответствует компилятору, что IzPack будет использоваться для создания файл installer.jar.
    • например. Netbeans использует компилятор от JDK 7 U15, а IzPack использует JDK 7 U15.
  • Убедитесь, существует соответствующий ".jar" пользовательские панели находится в IzPack в "izpack_install_dir/bin/панелей"
3

версия атрибут установки тега

<installation version="x.y"> 

является по сравнению с жестко запрограммированной переменной в IzPack с текущей версией (12 марта 2014 года) версия 5.0 source

/** 
* The compiler version. 
*/ 
public final static String VERSION = "5.0"; 
+0

Судя по определению установки OP, это была проблема. OP имел версию = "2.0", но использовал Izpack компилятор v5. Я столкнулся с этой проблемой. По-видимому, Izpack v5 является первой версией для проверки номера версии, указанной в определении установки. У меня была версия = "1.0" в моем определении; определение отлично с Izpack v4.3.5, но не v5.0. Изменение атрибута версии до «5.0» сделало Izpack еще раз счастливым. – Paul

0

Измените свою версию установки на 5.0, как показано на выходе вашего исключения.

< компилятор спецификации версии: 5,0>