Was v3.5.5 Vengine.jar compiled with Java 11?

I just authored an extension and during testing had been compiling my custom class with JDK 11. Once things looked good and working, and since the Vassal docs emphasize that Vassal supports back to 1.5, I tried to compile my custom class to that target. JDK 11 javac only supports source/target options down to 1.6, and there are nuances with the runtime library version for cross-compilations, so on the advice of an Oracle blog post I just installed the last JDK 1.5 (u22) to do the compilation instead of trying to cross-compile anymore.

When I compile my custom class with the JDK 1.5 javac, I get this error message:

55 corresponds to JDK 11, and 49 corresponds to JDK 1.5. So is this saying that Vengine.jar was compiled with JDK 11? If so, and it was deliberate, awesome! I’ll revert to using JDK 11 and continue on my merry way, assuming that Vassal now requires Java 11+.

Or… am I missing something here? I’m not new to development, but I haven’t tangled with Java in many years.

The Java version against which you should compile custom code for VASSAL 3.3 and later is Java 11.

Please point out where in the docs are you finding Java 5 so we may update that.

I got it from the Programming Tutorial:

vassalengine.org/wiki/Progra … al#Java_VM

This wiki page is linked by the latest repo docs:

github.com/vassalengine/vassal/ … om-classes

But I can’t find any other Java version reference, in the embedded Help, the site wiki, or the repo. My heavy leaning on that tutorial page over several days is probably what graduated a single solitary mention to “the docs emphasize” in my head.

Potentially: Instead of (or in addition to) updating the version mentioned in the docs, the docs could also include a brief mention and example command line or two of using “javap -verbose” on a type in Vengine.jar to determine the required target. In the spirit of providing a checksum for a download, kinda. And assuming anyone who’s reading this section of the docs would almost certainly understand and see the need for a double-check like this.

Thanks. I’ve updated the page to reflect the current situation.