Exactly what versions of everything work with GeoServer? I still can't get any of it to work. Is there no guide that explains it for a newbie, including getting SSL working? I know it's all googleable but something always breaks when I follow some guide.

1 Answer 1


In fact there is a very easy to find manual page that explains this (and is kept up to date)

GeoServer’s speed depends a lot on the chosen Java Runtime Environment (JRE). The latest versions of GeoServer are tested with both Oracle JRE and OpenJDK. Implementations other than those tested may work correctly, but are generally not recommended.


Java 17 - GeoServer 2.22.x and above (OpenJDK tested)

Java 11 - GeoServer 2.15.x and above (OpenJDK tested)

Java 8 - GeoServer 2.9.x to GeoServer 2.21.x (OpenJDK and Oracle JRE tested)

Java 7 - GeoServer 2.6.x to GeoServer 2.8.x (OpenJDK and Oracle JRE tested)

Java 6 - GeoServer 2.3.x to GeoServer 2.5.x (Oracle JRE tested)

Java 5 - GeoServer 2.2.x and earlier (Sun JRE tested)

There is then a section on what you need to change if you want to run Java 17:

Running on Java 17

GeoServer is compatible with Java 17, but requires extra care for running in some environments.

Deployment on Tomcat 9.0.55 has been tested with success.

The “bin” packaging can work too, but requires turning off the Marlin rasterizer integration. This can be done by modifying the scripts, or by simply removing the Marlin jars:

rm webapps/geoserver/WEB-INF/lib/marlin-0.9.3.jar

GeoServer code depends on a variety of libraries trying to access the JDK internals. As reported above, it does not seem to matter when running as a web application. However, in case of need, here is the full list of opens used by the build process:

--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.desktop/sun.awt.image=ALL-UNNAMED --add-opens=java.naming/com.sun.jndi.ldap=ALL-UNNAMED

  • I figured I'd stick to Java 11 but I'm right back where I started, everything's broken (I can open the site with SSL and log in but nothing else works properly. My SSL's probably messed up, no idea how to set it up right. I just used Certbot. I followed atlantic.net/vps-hosting/… from step 9. I get a 400 when I try to save the proxy base URL config.
    – phillip8
    Commented Mar 28, 2023 at 17:43
  • 1
    If you install GeoServer without SSL, is everything still broken?
    – user30184
    Commented Mar 29, 2023 at 6:53
  • I normally add SSL to a web server in front of GeoServer/Tomcat
    – Ian Turton
    Commented Mar 29, 2023 at 7:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.