IzPack doesn't correctly support new Version-String Scheme specified in JEP 223 (Java 9)

Description

IzPack compiler will fail to include JARs specified via <jar> element if a recent Java version (e.g. "11") is specified in the <javaversion> element of the <info> section.

[IzPack] Exception in thread "Thread-43" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
[IzPack] at com.izforge.izpack.ant.IzpackAntRunnable.run(IzpackAntRunnable.java:82)
[IzPack] at java.base/java.lang.Thread.run(Thread.java:834)
[IzPack] Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
[IzPack] at com.izforge.izpack.compiler.Compiler.checkClassTargetVersion(Compiler.java:448)
[IzPack] at com.izforge.izpack.compiler.Compiler.extractJarInternals(Compiler.java:419)
[IzPack] at com.izforge.izpack.compiler.Compiler.checkJarVersions(Compiler.java:399)
[IzPack] at com.izforge.izpack.compiler.CompilerConfig.addJars(CompilerConfig.java:649)
[IzPack] at com.izforge.izpack.compiler.CompilerConfig.executeCompiler(CompilerConfig.java:403)
[IzPack] at com.izforge.izpack.ant.IzpackAntRunnable.run(IzpackAntRunnable.java:78)
[IzPack] ... 1 more
[parallel] Exception in thread "Thread-42" org.eclipse.core.runtime.OperationCanceledException: Build cancelled.

As a workaround we currently add a leading "1." to the version ("1.11" instead of "11") which seems to work.

Environment

None

Assignee

Unassigned

Reporter

Holger Rehn

Impact

Functional - may break existing environments

Components

Affects versions

Priority

High
Configure