Also ran following command with following reply:
imacgc:VASSAL-3.7.12 greg$ /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home/bin/java -Duser.dir=. -classpath lib/Vengine.jar VASSAL.launch.ModuleManager
Error: LinkageError occurred while loading main class VASSAL.launch.ModuleManager
java.lang.ExceptionInInitializerError: null
imacgc:VASSAL-3.7.12 greg$
Please run the following from the Vassal 3.7.12 install directory and show us the output:
/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home/bin/java --version
and
ls -l lib
and
/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home/bin/java -classpath lib/Vengine.jar VASSAL.launch.ModuleManager
Sure thing.
First up:
imacgc:VASSAL-3.7.12 greg$ /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home/bin/java --version
openjdk 11.0.23 2024-04-16
OpenJDK Runtime Environment Temurin-11.0.23+9 (build 11.0.23+9)
OpenJDK 64-Bit Server VM Temurin-11.0.23+9 (build 11.0.23+9, mixed mode)
imacgc:VASSAL-3.7.12 greg$
Secondly:
imacgc:VASSAL-3.7.12 greg$ ls -l lib
total 45144
-rw-r--r--@ 1 greg staff 5570446 4 May 21:02 Vengine.jar
-rw-r--r--@ 1 greg staff 125428 18 Apr 04:10 asm-9.7.jar
-rw-r--r--@ 1 greg staff 485992 18 Apr 04:10 batik-anim-1.17.jar
-rw-r--r--@ 1 greg staff 424429 18 Apr 04:10 batik-awt-util-1.17.jar
-rw-r--r--@ 1 greg staff 704814 18 Apr 04:10 batik-bridge-1.17.jar
-rw-r--r--@ 1 greg staff 112314 18 Apr 04:10 batik-codec-1.17.jar
-rw-r--r--@ 1 greg staff 8436 18 Apr 04:10 batik-constants-1.17.jar
-rw-r--r--@ 1 greg staff 330640 18 Apr 04:10 batik-css-1.17.jar
-rw-r--r--@ 1 greg staff 184033 18 Apr 04:10 batik-dom-1.17.jar
-rw-r--r--@ 1 greg staff 10244 18 Apr 04:10 batik-ext-1.17.jar
-rw-r--r--@ 1 greg staff 72555 18 Apr 04:10 batik-extension-1.17.jar
-rw-r--r--@ 1 greg staff 173063 18 Apr 04:10 batik-gui-util-1.17.jar
-rw-r--r--@ 1 greg staff 192067 18 Apr 04:10 batik-gvt-1.17.jar
-rw-r--r--@ 1 greg staff 11427 18 Apr 04:10 batik-i18n-1.17.jar
-rw-r--r--@ 1 greg staff 76812 18 Apr 04:10 batik-parser-1.17.jar
-rw-r--r--@ 1 greg staff 24654 18 Apr 04:10 batik-script-1.17.jar
-rw-r--r--@ 1 greg staff 6670 18 Apr 04:10 batik-shared-resources-1.17.jar
-rw-r--r--@ 1 greg staff 230456 18 Apr 04:10 batik-svg-dom-1.17.jar
-rw-r--r--@ 1 greg staff 227423 18 Apr 04:10 batik-svggen-1.17.jar
-rw-r--r--@ 1 greg staff 191430 18 Apr 04:10 batik-swing-1.17.jar
-rw-r--r--@ 1 greg staff 129208 18 Apr 04:10 batik-transcoder-1.17.jar
-rw-r--r--@ 1 greg staff 127142 18 Apr 04:10 batik-util-1.17.jar
-rw-r--r--@ 1 greg staff 33826 18 Apr 04:10 batik-xml-1.17.jar
-rw-r--r--@ 1 greg staff 4212963 27 Apr 00:30 byte-buddy-1.14.14.jar
-rw-r--r--@ 1 greg staff 372608 30 Apr 06:19 commons-codec-1.17.0.jar
-rw-r--r--@ 1 greg staff 171943 18 Apr 04:10 commons-compiler-3.1.12.jar
-rw-r--r--@ 1 greg staff 508826 18 Apr 04:10 commons-io-2.16.1.jar
-rw-r--r--@ 1 greg staff 657952 18 Apr 04:10 commons-lang3-3.14.0.jar
-rw-r--r--@ 1 greg staff 38015 18 Apr 04:10 commons-logging-1.0.4.jar
-rw-r--r--@ 1 greg staff 861741 18 Apr 04:10 httpclient5-5.3.1.jar
-rw-r--r--@ 1 greg staff 855013 18 Apr 04:10 httpcore5-5.2.4.jar
-rw-r--r--@ 1 greg staff 237145 18 Apr 04:10 httpcore5-h2-5.2.4.jar
-rw-r--r--@ 1 greg staff 956369 18 Apr 04:10 janino-3.1.12.jar
-rw-r--r--@ 1 greg staff 59788 18 Apr 04:10 java-getopt-1.0.13.jar
-rw-r--r--@ 1 greg staff 143624 18 Apr 04:10 jlayer-1.0.1.jar
-rw-r--r--@ 1 greg staff 445706 18 Apr 04:10 jsoup-1.17.2.jar
drwxr-xr-x@ 13 greg staff 416 4 May 21:04 licenses
-rw-r--r--@ 1 greg staff 293697 19 Apr 04:11 logback-classic-1.5.6.jar
-rw-r--r--@ 1 greg staff 609942 19 Apr 04:11 logback-core-1.5.6.jar
-rw-r--r--@ 1 greg staff 58708 18 Apr 04:10 maven-artifact-3.9.6.jar
-rw-r--r--@ 1 greg staff 120431 18 Apr 04:10 miglayout-core-11.3.jar
-rw-r--r--@ 1 greg staff 23280 18 Apr 04:10 miglayout-swing-11.3.jar
-rw-r--r--@ 1 greg staff 269335 18 Apr 04:10 plexus-utils-3.5.1.jar
-rw-r--r--@ 1 greg staff 68605 18 Apr 04:10 slf4j-api-2.0.13.jar
-rw-r--r--@ 1 greg staff 1495328 18 Apr 04:10 swingx-all-1.6.5-1.jar
-rw-r--r--@ 1 greg staff 102616 18 Apr 04:10 timingframework-1.0.jar
-rw-r--r--@ 1 greg staff 6596 4 May 21:00 vassal-agent.jar
-rw-r--r--@ 1 greg staff 236009 18 Apr 04:10 wizard-0.998.1.jar
-rw-r--r--@ 1 greg staff 85686 18 Apr 04:10 xml-apis-ext-1.3.04.jar
-rw-r--r--@ 1 greg staff 678189 18 Apr 04:10 xmlgraphics-commons-2.9.jar
imacgc:VASSAL-3.7.12 greg$
Lastly:
That p
OK, my previous message did not end properly as my keyboard stopped functioning after I ran that final command! The command opened Vassal 3.7.12. Could that have affected the keyboard? I had to do a complete re-boot.
Given that 3ā¦7.12 can be opened in Terminal using that command path, can that be made into an application that I simply click on in future?
I suspect itās a coincidence. No mechanism connecting the two comes to mind.
You could test this by trying a second time.
Possibly. Iām looking into whether one can swap out the bundled Java in our MacOS release with another Java.
Would you try Java 17 once again, from the Vassal install directory with this command line?
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -classpath lib/Vengine.jar VASSAL.launch.ModuleManager
I suspect that this will work as well. Iām not sure why setting user.dir
would cause an exception on startup that has no stack trace, but it appears to do so.
Joel, that command line also works with Java 17. Great work.
Yes, you are probably right re the keyboard issueā¦it has not re-occurred.
The next thing to check is whether you can replace the bundled Java in the MacOS release with the Java 17 youāve installed.
So:
Download the MacOS release .
Install it.
Look for /Applications/VASSAL 3.7.12.app/
. Inside that there should be a directory tree named something like Contents/MacOS/jre
, and inside that you should find bin/java
. Would you confirm that this is the case? (We need to know the correct location for the bundled Java before proceeding further.)
Yes, that is all present as per the screenshot of the contents of the download of the MacOS Universal for 3.7.12.
Did that, and nothing happens.
Deleted the ājreā folder of the 3.7.12 app inside Applications.
Moved the ājreā folder from the temurin-17.jdk folder to the 3.7.12.app folder, then clicked on the application. No response.
This is the new directory of Vassal 3.7.12:
Youāve moved Home
into jre
instead of moving Home
to be jre
.
Everything in Home
in your last screenshot should be in jre
.
Ah, yesā¦sorry. I did wonder about that.
All fixed and it is working fineā¦well done, Joel. Thank you!
Does this help others?
2 Likes
Yes, this confirms that what I thought would work does. Thank you for your help with it.
For anyone who wants to run the current Vassal MacOS package on a version of MacOS which doesnāt support Java 21 or newer, the solution is to replace the bundled Java with Java 17.
2 Likes
ddub
June 29, 2024, 4:46pm
59
Can you provide a simple step-by-step to replace the Java? I appreciate all your efforts and Breakerās efforts to fix this.