Java考虑¶
使用支持的JRE¶
的速度很大程度上取决于所选择的Java运行时环境。最新版本的geoserver通过OracleJRE和OpenJDK进行测试。测试之外的实现可以正常工作,但通常不推荐。
已测试:
Java 17-Geoserver 2.22.x及更高版本(OpenJDK测试,仅试验性)
Java 11-Geoserver 2.15.x及更高版本(经OpenJDK测试)
Java 8-Geoserver 2.9.x到Geoserver 2.22.x(已测试OpenJDK和Oracle JRE)
Java 7——GeoServer 2.6 .x到GeoServer 2.8 x(OpenJDK和Oracle JRE测试)
Java 6 - GeoServer 2.3 .x到GeoServer 2.5 x(Oracle JRE测试)
Java 5 - GeoServer 2.2 x和更早(SunJRE测试)
至于GeoServer 2,Java运行时环境(JRE)足以运行GeoServer。GeoServer不再需要Java开发工具包(JDK)。
在Java 17上运行¶
Geoserver与Java 17兼容,但在某些环境下运行时需要格外小心。
在Tomcat 9.0.55上的部署已经成功进行了测试。
“bin”封装也可以工作,但需要关闭Marlin栅格化器集成。这可以通过修改脚本或只需删除Marlin Jars::
rm webapps/geoserver/WEB-INF/lib/marlin-0.9.3.jar
Geoserver代码依赖于尝试访问JDK内部的各种库。如上所述,当作为Web应用程序运行时,这似乎并不重要。但是,如果需要,以下是构建过程使用的完整打开列表:
--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
在Java 11上运行¶
GeoServer 2.15将在Java 11下运行,没有额外的配置 Tomcat 9号 或更新的和 码头9.4.12 或更新。
在Java 11上运行GeoServer在其他应用服务器上可能需要一些额外的配置。一些应用服务器还不支持Java 11。
野蝇14 在运行配置中支持Java 11,并在运行配置中附加VM参数ADD:
--添加模块=java.se
未来的WildFly版本应该支持Java 11,而不需要额外的配置。
GlassFish 目前没有Java 11,虽然即将到来的5.0.1版本预计将包括对它的支持。
WebLogic 还不支持Java 11。