GeoTools project is closing out 2018 with a GeoTools 21-M0 milestone release featuring Java 11 compatibility:
- geotools-21-M0-bin.zip
- geotools-21-M0-doc.zip
- geotools-21-M0-userguide.zip
- geotools-21-M0-project.zip
- maven repository
This milestone release is a preview of GeoTools 21 giving everyone a chance to help test Java 11 compatibility.
This release works with both Java 8 and Java 9, downstream projects are advised that some imports will need to be fixed when upgrading as classes were repackaged on the way to Java 11 compatibility.
This release works with both Java 8 and Java 9, downstream projects are advised that some imports will need to be fixed when upgrading as classes were repackaged on the way to Java 11 compatibility.
We have worked very hard for this release to work with both Java 8 and Java 11. By making a milestone release available at this time we are offering GeoTools users and downstream projects the option of migrating to Java 11 when they are ready.
Java 2018 Code Sprint
This release completes our participation in the OSGeo Java 2018 Code Sprint, and is made in conjunction with GeoServer 2.15-M0 and GeoWebCache 1.15-M0.
Thanks to individuals and organizations which took part in the code sprint: Boundless, GeoSolutions, GeoCat, Astun Technology, and CCRi. Additional thanks to our sponsors whose financial support helps make these activities possible: silver sponsor Gaia3D, bronze sponsors atol, osgeo:uk, and Astun Technology.
A key technical requirement for Java 11 compatibility is avoiding having two modules making use of the same package. To avoid this "split-package" error some classes have been moved to different packages.
For additional details see the upgrade instructions in our user guide.
Library Restructure and Upgrading
As part of this work many GeoTools dependencies were updated, and the library was repackaged for use as Java 11 modules. The most significant change is the removal of the gt-api module with its classes being distributed across the other modules.A key technical requirement for Java 11 compatibility is avoiding having two modules making use of the same package. To avoid this "split-package" error some classes have been moved to different packages.
For additional details see the upgrade instructions in our user guide.
About Java 11 Compatibility
The GeoTools library is now available for use on the module path, see our Java 11 Quickstart for an example:
module org.geotools.tutorial.quickstart {
requires java.desktop;
requires org.geotools.main;
requires org.geotools.shapefile;
requires org.geotools.swing;
requires org.geotools.render;
}
Java Roadmap Compatility
We are pleased to announce that the GeoTools library can now be built with Java 8 or Java 11! Due to a technical limitation with the core java class libraries our releases will be built with Java 8 for the widest compatibility.
Our initial concern with Oracle JDK 8 reaching its end-of-life in January 2019 has been alleviated by recent industry developments. Extensive Java 8 support options are now available, with RedHat making a public commitment to contribute fixes to the Java 8 codebase, and a range of organizations committed to making Java 8 builds available on a range of platforms.
Java 8 Provider | License | Linux | macOS | Solaris | Windows | Free Updates |
---|---|---|---|---|---|---|
Oracle JDK | Binary Code Licene | x | x | x | x | 2019 January |
Oracle OpenJDK | GPL | x | reference only | |||
Oracle OpenJDK | Binary Code Licene | x | x | reference only | ||
RedHat OpenJDK | GPL | x | 2023 June | |||
Adopt OpenJDK | GPL | x | x | x | 2023 September |
Oracle has contributed a wide range of technologies to the OpenJDK project which now leads Java 11 roadmap going forward.
Java 11 Provider | License | Linux | macOS | Solaris | Windows | Free Updates |
---|---|---|---|---|---|---|
Oracle JDK | Binary Code Licene | x | x | x | x | 2019 March |
Oracle OpenJDK | GPL | x | x | x | 2019 March | |
RedHat OpenJDK | GPL | x | 2024 October | |||
Adopt OpenJDK | GPL | x | x | x | 2022 September |
About GeoTools 21
GeoTools 21 series:
- GeoTools 21 release notes (21-M0)
- Java install and Java 11 Quickstart (User Guide)
- Java 2018 Code Sprint (OSGeo)