[messages] [Developers] Test builds for 3.3.0

uckelman uckelman at nomic.net
Fri Oct 18 00:19:06 CEST 2019

I've been working off and on for a while now to update VASSAL 3.2 for
use with Java 9 or later. That was surprisingly complicated, because:

* All of the audio classes we used were removed in Java 9.

* Java 9 uses a "modular" system, which has the effect of hiding a few
JDK internal classes which we use to work around bugs in the JDK which
still exist in Java 9 and later.

* There is no longer a separate JRE from Java 9 onwards, and due to
changes on java.com automatic downloading of an older JRE had stopped

* The com.apple.eawt classes we use for handling certain parts of the
GUI on Macs also no longer exist in recent versions of OS X.

Here's what I've done:

* Our audio classes now use a different audio API in the JDK.

* Our Mac-specific GUI code now uses java.awt.Desktop, which is the
replacement for the old com.apple.eawt classes.

* The build and run scripts are adjusted to deal with Java 9 modularity.

* The Windows build now has a stripped-down version of Java 13 bundled
with it. This lets us avoid dealing with installing Java separately at
all. (There was no good way of doing this prior to Java 9, as even a
full JRE was quite large, but Java 9 and later provide some tools for
producing a bundle containing just the bits of Java you need for your
application.) Note that the Windows bundle is 64-bit only now. If you're
still running 32-bit Windows, you'll need to install Java and run VASSAL
from the .zip bundle.

* I also took this opportunity to update our dependencies. A few of our
dependencies are gone: xalan, xml-apis, xerxes, swing-layout,
swing-worker, and BrowserLauncher all provided things which Java 9
provides now. The rest have been updated to their current versions.

* Java 9 is now a minimum requirement.

As this is turned out to be a significant batch of changes, I thought it
made sense to call the next release 3.3.0 rather than 3.2.18.

Test builds may be found here:


Please give the most recent test build for 3.3.0 a try and let us know
what problems you find.

[1] http://vassalengine.sourceforge.net/builds/

Read this topic online here:

More information about the messages mailing list