【发布时间】:2021-01-25 23:04:34
【问题描述】:
我正在尝试将 postgis-jdbc-jtsparser 与 geotools gt-epsg-hsql 一起使用 - 以下内容取自我的 sbt 文件(与相关 maven 声明的数据相同
val postgisJts = "net.postgis" % "postgis-jdbc-jtsparser" % "2.5.0"
val `gt-main` = "org.geotools" % "gt-main" % "24.0"
val `gt-epsg-hsql` = "org.geotools" % "gt-epsg-hsql" % "24.0"
在运行我的测试时出现此错误:
java.lang.NoSuchMethodError: org.locationtech.jts.geom.Polygon.getExteriorRing()Lorg/locationtech/jts/geom/LineString;
调查一下,似乎 postgis 使用的是 jts 1.16.1 或更高版本,而 geotools 使用的是 1.13.0
大概 getExteriorRing 在某个时候发生了变化。 我们正在使用最新的 postgres/postgis 版本。
这是一个已知问题吗?有没有简单的解决方法?我们只使用 geotools 进行网格参考转换(通过 hsql 库)
【问题讨论】:
-
Geotools 是 1.17,所以你需要回到 22 左右才能获得 1.15