New fixes for compiling on newer Java versions #49
+4
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About a year ago I created a PR that introduced a small shim into the manifest and build script for fixing this project on newer versions of Java. Unfortunately this shim doesn't seem to properly work anymore, rendering it mostly ineffective.
This PR hopes to address these issues once again with a proper solution instead of a hacky workaround. The issue currently is with
sun.awt.Mutex
not being exported into the Java Runtime in newer versions.Looking at the source code reveals that the only use of a
sun.awt.Mutex
is for mutual exclusion in somesynchronized
blocks. However Java allows you to synchronise over any type of object, so we can just change the type toObject
to remove our dependency without changing any behaviour.I have a release on my own fork tagged as
0.4.1
, which was compiled with Java 8. I have additionally tested it against Java 17 and 21 and everything appears to work correctly.