Hello,
While testing the SIS 1.5-RC4 release, I stumbled upon a couple of issues
regarding JRE compatibility, and I am not sure what we should do about it.
The release README states :
For developing applications using the SIS library or for using on
> command-line,
> the only requirement is Java 11 or later, except the GDAL module which
> requires
> Java 22.
However, there's a couple use-cases that require jre 22, and I'm not sure
it is legitimate:
* SIS shell : by default, gdal module is loaded. Therefore, the shell is
not launchable as is for users using jdk21 or older.
To bypass the problem, one have to manually move the gdal jar away from
"lib" directory, and that is not an obvious solution.
Should we amend the README of the binary package to explicit this
problem (i.e. say that sis shell requires jre 22, or explain how to disable
gdal in this case) ?
Here is the command output I get when I try to launch sis shell script
using Java 21 LTS:
>
> *Downloads/apache-sis-1.5-bin/apache-sis-1.5*
> ❯ java --version
> openjdk 21 2023-09-19 LTS
> OpenJDK Runtime Environment Temurin-21+35 (build 21+35-LTS)
> OpenJDK 64-Bit Server VM Temurin-21+35 (build 21+35-LTS, mixed mode,
> sharing)
>
> *Downloads/apache-sis-1.5-bin/apache-sis-1.5*
> ❯ echo *$JAVA_HOME*
> /home/alexis/.sdkman/candidates/java/21-tem
>
> *Downloads/apache-sis-1.5-bin/apache-sis-1.5*
> ❯ bin/sis about
> Error occurred during initialization of boot layer
> java.lang.module.FindException: Error reading module:
> /home/alexis/Downloads/apache-sis-1.5-bin/apache-sis-1.5/bin/../lib/org.apache.sis.storage.gdal.jar
> Caused by: java.lang.module.InvalidModuleDescriptorException: Unsupported
> major.minor version 66.0
>
To make the shell command work with JRE 21, I had to do move the gdal lib
with the following command :
> mv lib/org.apache.sis.storage.gdal.jar
> lib/org.apache.sis.storage.gdal.jar.bak
>
* SIS embedded data : the sis-embedded-data jar requires java 22, I think
this is not intentional and should use java 11. Can you confirm this ?
We can test the jar compatibility using jshell as followed:
> *apache-sis-1.5-bin/apache-sis-1.5/test-embedded*
> ❯ curl -s -o sis-embedded-data-1.5.jar "
> https://repository.apache.org/content/repositories/orgapachesis-1062/org/apache/sis/non-free/sis-embedded-data/1.5/sis-embedded-data-1.5.jar
> "
>
> *apache-sis-1.5-bin/apache-sis-1.5/test-embedded* via ☕ v21
> ❯ jshell --version
> jshell 21
>
> *apache-sis-1.5-bin/apache-sis-1.5/test-embedded* via ☕ v21
> ❯ jshell --module-path ./sis-embedded-data-1.5.jar
> Launching JShell execution engine threw: FailOverExecutionControlProvider:
> FAILED: 0:jdi:hostname(127.0.0.1) --
> Exception: java.lang.IllegalArgumentException: Error occurred during
> initialization of boot layer
> java.lang.module.FindException: Error reading module:
> ./sis-embedded-data-1.5.jar
> Caused by: java.lang.module.InvalidModuleDescriptorException: Unsupported
> major.minor version 66.0
>
>
Regarding these issues, and looking how old java 11 is (released 7 years
ago, end of premier support 2 years ago), should we discuss minimal java
compatibility for the project after the 1.5 release ?
Regards,
Le mer. 1 oct. 2025 à 10:29, Martin Desruisseaux
<[email protected]> a écrit :
> Hello all
>
> The SIS 1.5-RC3 has an issue which prevent the embedded EPSG data
> (sis-embedded-data.jar) to work correctly. The non-embedded version
> (sis-epsg.jar) works correctly. A 1.5-RC4 will be deployed today for
> fixing this issue, together with some more minor issues that we discovered.
>
> Martin
>
>
> Le 29/09/2025 à 13:21, Martin Desruisseaux a écrit :
> > Apache SIS 1.5-RC3 has been deployed on a Maven staging repository for
> > testing purposes. This is the first real candidate. Unless a problem
> > is discovered today or tomorrow, I plan to propose that candidate for
> > a vote. In the meantime, feedbacks are welcome. (…snip…)
> >
>