<div dir="ltr"><div dir="ltr"><div>When:  October 22-26th</div><div>Where: North America (Victoria, BC), Europe (Italy or UK proposed), Oceania (recommendations welcome)</div><div>Wiki: <a href="https://wiki.osgeo.org/wiki/Java_2018_Code_Sprint" target="_blank">https://wiki.osgeo.org/wiki/Java_2018_Code_Sprint</a></div><div><br></div><div>If you or your project is interested in taking part, even remotely, please add yourself to the above wiki page!</div><div><br></div><div>The Java community has a challenge ahead, with recent policy changes setting the Java platform on a six-month release cycle. We also have a <i>python3 moment</i> as our open source libraries are tasked with upgrading to the use of the "jigsaw" module system.<br></div><div dir="ltr"><br></div><div dir="ltr">Top level applications like GeoServer and GeoNetwork need to make some changes in order to run at all. Mostly this requires a dependency review, upgrading to new libraries such as Spring 5 that are compatible with Java 11. Many of these libraries are broken due to changes to how reflection is handled.</div><div dir="ltr"><br></div><div>Java libraries like JTS and GeoTools are put in an awkward position as a bottleneck on the safe use of the module system (see <a href="http://blog.joda.org/2017/05/java-se-9-jpms-automatic-modules.html" target="_blank">module hell problem</a>). A further complication for is a restriction preventing two jars from making use of the same package.</div><div dir="ltr"><div><br></div><div>Planning is currently underway:</div><div><ul><li style="margin-left:15px"><a href="https://github.com/geoserver/geoserver/wiki/GSIP-171" target="_blank">GSIP 171 Java 18.9 Compatibility</a> (GeoServer)<br></li><li style="margin-left:15px"><a href="https://github.com/geonetwork/core-geonetwork/wiki/OSGeo-Java-codesprint-2018" target="_blank">Strategy for GeoNetwork</a><br></li><li style="margin-left:15px"><a href="https://github.com/geotools/geotools/wiki/Restructure-GeoTools-into-Jigsaw-modules" target="_blank">Restructure GeoTools into Jigsaw modules</a><br></li></ul></div><div>Recommended reading:</div><div><ul><li style="margin-left:15px"><a href="https://www.azul.com/what-comes-after-jdk-8/" target="_blank">What Comes After JDK 8?</a> - java release cycle changes<br></li><li style="margin-left:15px"><a href="https://medium.com/criciumadev/its-time-migrating-to-java-11-5eb3868354f9" target="_blank">It's time! Migrating to Java 11</a> - spring upgrade example<br></li><li style="margin-left:15px"><a href="http://openjdk.java.net/projects/jigsaw/spec/sotms" target="_blank">The State of the Module System</a> - technical background</li></ul></div></div></div></div>