shi3re
shi3re

Reputation: 79

IzPack Error 2 - "the file version is different from the compiler version"

According to IzPack, this is categorized as a CompilerException.

My install.xml file is:

<?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>

I use the following command to generate the error:

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

The following is the actual output of the exception:

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)

This is my first time using IzPack and it's mission critical that I get this working. Any help would be greatly appreciated.

I should also mention that the "InstallSelection" in the panel section is one I designed myself in Netbeans. Even without it defined in the panel section, I still get the error.

Upvotes: 3

Views: 2707

Answers (3)

Poulami
Poulami

Reputation: 1087

Change your installation version to 5.0 like as you can see from the output of your exception.

< compiler specifications version: 5.0 >

Upvotes: 0

shi3re
shi3re

Reputation: 79

Due to lack of proper and effective documentation, it took a while to resolve the errors.

2 things need to be checked, at least in this case:

  • When you design a custom panel, make sure that the Java Compiler used to compile it matches the compiler that IzPack will be using to create the installer.jar file.
    • e.g. Netbeans is using compiler from JDK 7 U15, and IzPack is using JDK 7 U15.
  • Make sure the custom panel's corresponding ".jar" exists in the IzPack's "izpack_install_dir/bin/panels"

Upvotes: 1

ofthestreet
ofthestreet

Reputation: 189

The version attribute of the tag installation

<installation version="x.y">

is compared with a hardcoded variable in IzPack With current version (12 mars 2014) the version is 5.0 source

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

Upvotes: 4

Related Questions