Bug #5824


SaxonJ 12 does not run on Java 8

Added by Michael Kay 13 days ago. Updated 12 days ago.

In Progress
Start date:
Due date:
% Done:


Estimated time:
Legacy ID:
Applies to branch:
12, trunk
Fix Committed on Branch:
Fixed in Maintenance Release:


We say in the documentation that we're targeting Java 11 but that the code should still run on Java 8. However, it is reported that it doesn't.

Note: we are using at least one Java 9 feature, namely the java.lang.ref.Cleaner class.

Actions #1

Updated by Norm Tovey-Walsh 13 days ago

The source and target compatibility flags were accidentally set to "11" not "1.8" in the build scripts.

However, I assume that only fixes the build issue and it would still fail on Java 8 because of the Java 9 dependency...

Actions #2

Updated by Michael Kay 13 days ago

I have moved all the dependencies on java.lang.ref.Cleaner into one place ( which is designed to have fallback behaviour if the Cleaner class is not available. The fallback action is not yet tested.

Also noted, there are also "soft" Java 9 dependencies in, with fallback action for Java 8.

Actions #3

Updated by Michael Kay 13 days ago

  • Status changed from New to In Progress
Actions #4

Updated by Debbie Lockett 12 days ago

I have added a note on the website ( where we mention Java versions, so that it now says:

SaxonJ 12 is built and tested using Java 11, but should still be usable with Java 8 or later. (However, due to bug #5824, note that SaxonJ 12.0 does not run on Java 8.)

I decided against adding this note in the documentation (because it's a code bug and we don't generally update the documentation to highlight code bugs). But let me know if you think I should. (The relevant documentation pages are: about/gettingstarted/gettingstartedjava, about/installationjava/prerequisites, changes/installation.)

Please register to edit this issue

Also available in: Atom PDF