sogis / gretl

Contains custom gradle tasks to use in gradle builds. The custom tasks extend gradle for use as a sql-centric (geo)data etl. gretl = gradle etl
MIT License
4 stars 3 forks source link

Update Java 8 to Java 11 #146

Closed Saela closed 1 month ago

Saela commented 10 months ago
Saela commented 5 months ago

@edigonzales Ich habe alles mal auf Java 11 umgestellt, aber habe leider schlechte Nachrichten. :( Das meiste Funktioniert zwar, aber die Tests, bei denen iox-wkf involviert ist schlagen mit z.B. 'org.geotools.data.DataStoreFactorySpi is not an ImageIO SPI class' oder 'org.geotools.styling.StyleFactory is not an ImageIO SPI class' fehl. Zur ersten Fehlermeldung habe ich folgenden Hinweis im GeoTools Repo gefunden: https://github.com/geotools/geotools/wiki/FactoryRegistry-Refactoring-for-Java-9-Compatibility . Lösung hierfür: Entweder GeoTools updaten oder auf Java 8 downgraden. 🙈

Ich habe versucht bei GRETL eine neuere Version von Geotools zu forcieren, laufe dann aber irgendwann (z.B. in Gpkg2ShpStep.java mit writer.setAttributeDescriptors(attrsDesc);) in weitere Fehler. :( Ich nehme an, das steht ausser Frage, dass iox-wkf zumindest auf eine Geotools Version aktualisiert, bei der die ShapeFile Fehler nicht mehr auftreten?

edigonzales commented 5 months ago

@Saela Das habe ich so erwartet. Diese Uralt-Version von Geotools ist maximal Java 8 fähig. Ich habe in einem Branch von iox-wkf die Geotools-Version auf die letzte Version geupdatet, die noch Java 8 fähig ist, aber bereits mit Java 11 funktioniert. Weiter wird es mit iox-wkf eh nicht gehen. Die einzige Arbeit war eigentlich nur das Rumkopieren der Geometrien, das die einen anderen Paketnamen erhalten (weil Geotools neuere JTS-Version verwendet): https://github.com/claeis/iox-wkf/commit/60f6c7c4011b78cbb488a2d2f50fac0a3347ecb5

Eigentlich vorgängig gibt es von mir einen pending Merge Request: https://github.com/claeis/iox-wkf/pull/50

Also: @claeis müsste mergen oder ablehnen, damit ich einen merge request das Geotools-Update machen kann.

dkubanyi commented 1 month ago

@edigonzales @Saela nach dem Update von iox-wkf auf 2.0.0 scheint immer noch ein Problem im Gpkg2ShpStep zu bestehen:

org.geotools.data.DataSourceException: Cannot create a shapefile whose geometry type is class com.vividsolutions.jts.geom.Polygon
    at app//org.geotools.data.shapefile.ShapefileDataStore.createSchema(ShapefileDataStore.java:287)
    at app//org.geotools.data.shapefile.ShapefileDataStore.createSchema(ShapefileDataStore.java:71)
    at app//ch.interlis.ioxwkf.shp.ShapeWriter.write(ShapeWriter.java:339)

In meiner Meinung muss die Verwendung von com.vividsolutions.jts in org.locationtech.jts geändert werden: https://gis.stackexchange.com/questions/378279/updating-geotools-18-1-to-22-4-migration-issue

edigonzales commented 1 month ago

@dkubanyi Das war zu erwarten. Ich habe in weiser Voraussicht geschaut, was geändert werden muss: https://github.com/sogis/gretl/compare/master...geotools-update Eventuell kannst du das einfach in euren Branch cherrypicken o.ä.

Das "--stacktrace" muss nicht verwendet werden. War wohl zur zu Debug-Zwecken mir reingerutscht.