Vassal does not start on OS X

Dear friends,

got this error message when trying to run Vassal. Any idea? I updated Java, but still… Any incompatibility? Should I update the OS?

Thanks a lot in advance! 

2018-01-21 13:01:44,915 [0-main] INFO VASSAL.launch.StartUp - Starting
2018-01-21 13:01:44,921 [0-main] INFO VASSAL.launch.StartUp - OS Mac OS X 10.11.6
2018-01-21 13:01:44,921 [0-main] INFO VASSAL.launch.StartUp - Java version 9.0.4
2018-01-21 13:01:44,921 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.2.17
2018-01-21 13:01:45,873 [0-main] ERROR VASSAL.tools.ErrorDialog -
java.lang.NoSuchMethodError: com.apple.eawt.Application.addApplicationListener(Lcom/apple/eawt/ApplicationListener;)V
at VASSAL.launch.ModuleManagerMacOSXStartUp.setupApplicationListeners(ModuleManagerMacOSXStartUp.java:36) ~[Vengine.jar:na]
at VASSAL.launch.ModuleManagerMacOSXStartUp.initSystemProperties(ModuleManagerMacOSXStartUp.java:31) ~[Vengine.jar:na]
at VASSAL.launch.ModuleManager.(ModuleManager.java:280) ~[Vengine.jar:na]
at VASSAL.launch.ModuleManager.main(ModuleManager.java:183) ~[Vengine.jar:na]

I read that there is something wrong with the last version of Java, in another thread. But I cannot go back to the previous java version… Does this mean there’s no solution? Thanks.

Thus spake Basset:

Dear friends,

got this error message when trying to run Vassal. Any idea? I updated
Java, but still… Any incompatibility? Should I update the OS?

Newer versions of Java on the Mac have apparently dropped support for
something that we use. In the meantime, you should try an older version
of Java.


J.

Hi J.,

I tried it but Java does not offer the free download of previous versions. Thanks anyway. I’ll try to find a way.

There is a current issue when Macintosh users update to 10.11 with new java 8 update 151 that Vassal no longer runs. java 8 update 91 is the last version that I know that works. I have two users retroactively go back to java 8 update 91 to regain functionality. (Tim Sinnigen used a time machine backup to go back to 10.10.x and Java 8 update 91), the other went to an Apple Store to have hard drive wiped and OS reinstalled with java 8 update 91). The latter (Greg Smith) alerted me how to change Macintosh update settings so java is not updated. I do not know how to alert others. If I put it somewhere in the forum, people with not find it until after they lose vassal functionality Many basic vassal users are likely not aware of the forum. I sent this message to Joel Uckelman last week to post as he feels appropriate. Sun Systems controls Java. Apple controls Mac OS, Microsoft controls Windows, Vassal controls none of these.

Regards, Bill Thomson, bill@wargameacademy.org

For those running MacOS 10.8.6+
-Updating IOS and Java
-Before updating check the Vassal site for comparable version (currently Java 8 Update 91).
-Before updating IOS Go to Settings and Choose Java (near the bottom)
-Open Java Control Panel
-Select Advanced
-Be sure Update button is set on Never Allow. If it isn’t select that option and select APPLY. Enter computer’s password.

Attaching to the thread in that hopefully a fix comes forward. I have Java 9 and getting the same error messages, Vassal will not open.

Thanks for any help…
Brian

2018-01-25 16:37:13,751 [0-main] INFO VASSAL.launch.StartUp - Starting
2018-01-25 16:37:13,754 [0-main] INFO VASSAL.launch.StartUp - OS Mac OS X 10.13.2
2018-01-25 16:37:13,754 [0-main] INFO VASSAL.launch.StartUp - Java version 9.0.4
2018-01-25 16:37:13,754 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.2.17
2018-01-25 16:37:14,145 [0-main] ERROR VASSAL.tools.ErrorDialog -
java.lang.NoSuchMethodError: com.apple.eawt.Application.addApplicationListener(Lcom/apple/eawt/ApplicationListener;)V
at VASSAL.launch.ModuleManagerMacOSXStartUp.setupApplicationListeners(ModuleManagerMacOSXStartUp.java:36) ~[Vengine.jar:na]
at VASSAL.launch.ModuleManagerMacOSXStartUp.initSystemProperties(ModuleManagerMacOSXStartUp.java:31) ~[Vengine.jar:na]
at VASSAL.launch.ModuleManager.(ModuleManager.java:280) ~[Vengine.jar:na]
at VASSAL.launch.ModuleManager.main(ModuleManager.java:183) ~[Vengine.jar:na]

You can download previous versions of Java from Oracle, though they might make you create an account.
oracle.com/technetwork/java/ … 77648.html

If you want java 9 installed for other applications, you can extract these older versions into a specific location, and modify Vassal’s startup script so it finds the old version first. This is what I do to keep Vassal on the last version that worked well for me (8u112), though I do need to try 8u162 to see if it has fixed the last outstanding issue.

Sadly, 8u162 has not fixed the cmd-` cycling issue.